【问题标题】:Count the number of unique strings in a list? Python 3 [duplicate]计算列表中唯一字符串的数量? Python 3 [重复]
【发布时间】:2013-09-10 05:09:00
【问题描述】:

我是 Python 新手。我有一个列表,有重复的条目。他们有什么方法可以计算 UNIQUE 字符串的数量吗?问候,

input1 = input("Name ")
input2 = []
input2.append(input1)
while input1:
  input1 = input("Name ")
  input2.append(input1)

我只想打印输入的唯一名称的数量。谢谢!

【问题讨论】:

  • 您可能想要删除第 3 行并反转第 5 和 6 行。这样可以避免捕获结束 while 循环的空字符串。
  • 谢谢@StevenRumbalski 似乎解决了它。

标签: python list count duplicates unique


【解决方案1】:

这个怎么样:

len(set(input2))

len(set(n[5:] for n in input2))

【讨论】:

  • 我试过使用它,但没有用。 Name: Nick Name: Sam Name: Nick Name: Rob Name #whitespace 4 #len(set(input2)) ['Nick', 'Sam', 'Nick', 'Rob', '']
  • 它的长度为四,因为它将列表末尾的空字符串计为唯一元素。将我的 cmets 中建议的更改应用于您的问题,问题就会消失。
  • len(set(n[5:] for n in input2)) 应该做什么?
【解决方案2】:

我们可以使用集合中的计数器

>>> a=['Jack','Jill','Jack']
>>> from collections import Counter
>>> myDict=Counter(a);
>>> myDict


Counter({'Jack': 2, 'Jill': 1})

那么我们就可以只用 myDict 作为字典了

【讨论】:

    猜你喜欢
    • 2018-10-09
    • 1970-01-01
    • 2019-09-05
    • 1970-01-01
    • 2021-07-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    相关资源
    最近更新 更多