python - 如何在 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))
解决方案
尝试这个:
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})
推荐阅读
- java - 是否可以使用java中的方法打破循环?
- java - 在 Java windowbuilder 中使用 for 循环生成多个按钮 n 次
- ruby - Ruby:嵌套散列在与另一个嵌套散列合并时丢失键和值
- python - Why am i getting index of the range error?
- excel - 用户表单文本框 - 英国日期格式
- regex - 正则表达式匹配不在特定目录中的所有路径
- go - Are ioutil.WriteFile file mode / permission constants stored anywhere?
- swift - How to display a text view in swift UI if the variable isn't nil?
- c# - ApiController consume other API and forward the response
- java - Increase message consumption rate