Python计数器:打印计数为x的键

2023-11-23

说我有一个Counter代表单词集合的对象:

>>> words = ['hello', 'hello', 'hello', 'world']
>>> counter = Counter(words)

找出哪些单词计数为 1 的一种方法是迭代counter:

for word, count in counter.items():
    if count == 1:
        print(word)

有没有更简单/更好的方法来做到这一点?也就是说,是否可以“反转”counter给出计数为的单词x?


要反转任何映射 - 无论是Counter, a dict,或其他任何东西:

rev = {v: k for k, v in d.items()}

然后你像任何其他字典一样使用它:

key_whose_count_is_10 = rev[10]

如果有两个键具有相同的值,则该值将任意映射到其中之一。但这几乎是你的问题所固有的。您正在询问其计数为的“该”键x;如果有三个键的计数为,你想做什么x?


如果您只想进行一个查询,而不是多个查询,那么迭代会更有效。哪一个是clearer(这几乎总是更重要)是有争议的。为了进行比较,这里有一种方法:

key_whose_count_is_10 = next(k for k, v in d.items() if v==10)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python计数器:打印计数为x的键 的相关文章

随机推荐