首页 > 解决方案 > 如何在 Python 中仅打印列表中不重复的元素?

问题描述

我有一个数组arr = [4, 8, 2, 8, 9]

我想打印不重复的元素。

即 4、2、9

但是我的代码给出的列表索引超出了范围,即使相同的逻辑在 Java 中有效但在我的 Python 代码中无效。这是我的代码:

def odd_occurring_num(arr):
    count = 0
    size = len(arr)
    
    for i in arr:
        for j in arr:
            if (arr[i] == arr[j] and i != j):
                break
        if (j == size):
            count += 1
    return count
    
# driver Code
arr = [4, 8, 2, 8, 9]
print(odd_occurring_num(arr))

标签: pythonarrayspython-3.xlist

解决方案


尝试这个:

from collections import Counter                                                                                                                                                                                                                                                   

c = Counter([4, 8, 2, 8, 9])    
[i for i,j in c.items() if j==1]

这将返回:

[4, 2, 9]

另外,如果您看一下,c您会看到:

Counter({4: 1, 8: 2, 2: 1, 9: 1})

推荐阅读