如何在python中使用计数器而不显示数字



我对python的Counter库没有什么问题。下面是一个例子:

from collections import Counter
list1 = ['x','y','z','x','x','x','y', 'z']
print(Counter(list1))

它的输出:

Counter({'x': 4, 'y': 2, 'z': 2})

我的问题是如何在没有重复次数的情况下接收输出?

我想要得到的是:

Counter('x', 'y', 'z')

您需要从most_common()中提取密钥:

from collections import Counter
list1 = ['x', 'y', 'z', 'x', 'x', 'x', 'y', 'z']
print(Counter(list1).most_common())  # ordered key/value pairs
print(Counter(list1).keys())  # keys not ordered!
keys = [k for k, value in Counter(list1).most_common()]
print(keys)  # keys in sorted order!

:

[('x', 4), ('y', 2), ('z', 2)]
['y', 'x', 'z']
['x', 'y', 'z']

如果你只想要列表的不同元素,你可以把它转换成一个集合。

话虽如此,您也可以使用keys方法访问Counter字典的键,以获得类似的结果。

如果将Counter的输出视为字典,则可以通过获取字典的键来获取字符串:

from collections import Counter
list1 = ['x','y','z','x','x','x','y','z']
values = Counter(list1).keys()
print(values)

相关内容

  • 没有找到相关文章

最新更新