我需要只出现一次的元素。 (python)
例如,结果
mylist = ['a', 'a', 'a', 'a', 'b', 'c']
将会
2
答案 0 :(得分:5)
您可以使用collections.Counter
来计数每个不同项目的出现次数,并仅使用生成器表达式保留计数为1的项目:
from collections import Counter
sum(1 for c in Counter(mylist).values() if c == 1)
这将返回:2
答案 1 :(得分:0)
这种情况看起来像一个纯Set结构。 如果我是你,我将设置数组并检查其大小。
您可以查看示例here
答案 2 :(得分:0)
您基本上想遍历列表,并检查每个元素在列表中出现了多少次。如果它多次出现,则不希望出现,但如果仅发生一次,则将计数器增加1。
count = 0
for letter in mylist:
if mylist.count(letter) == 1:
count += 1
print (count)
答案 3 :(得分:-1)
这应该对您有用:
len(set(mylist))
它确实要求您的值是可哈希的。