我需要只出现一次的元素

时间:2019-04-18 17:53:16

标签: python list

我需要只出现一次的元素。 (python)

例如,结果

mylist = ['a', 'a', 'a', 'a', 'b', 'c']

将会

2

4 个答案:

答案 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))

它确实要求您的值是可哈希的。