Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
按频率排序而不是按字母顺序排序(在Python中)_Python_Python 3.x_Set_Counter - Fatal编程技术网

按频率排序而不是按字母顺序排序(在Python中)

按频率排序而不是按字母顺序排序(在Python中),python,python-3.x,set,counter,Python,Python 3.x,Set,Counter,我正在查看Python库中的一个示例,其中列表中某个单词的出现总数是按字典中的频率计数排序的: cnt = Counter() for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']: cnt[word] += 1 cnt的输出,其中元素按其频率计数的顺序列出: Counter({'blue': 3, 'red': 2, 'green': 1}) {'blue', 'green', 'red'} 我想做一个不包括数字频

我正在查看Python库中的一个示例,其中列表中某个单词的出现总数是按字典中的频率计数排序的:

cnt = Counter()
for word in ['red', 'blue', 'red', 'green', 'blue', 'blue']:
    cnt[word] += 1
cnt
的输出,其中元素按其频率计数的顺序列出:

Counter({'blue': 3, 'red': 2, 'green': 1})
{'blue', 'green', 'red'}
我想做一个不包括数字频率的集合,但保留元素列出的顺序:

{'blue', 'red', 'green'}
然而,在我试图实现这一目标的过程中:

set(word for word, count in cnt.most_common(3))
我收到一个集合,其中元素按字母顺序排列,而不是按频率计数:

Counter({'blue': 3, 'red': 2, 'green': 1})
{'blue', 'green', 'red'}

是否可以根据频率计数对集合进行排序?

集合是唯一元素的无序集合,因此对它们进行排序没有任何意义

您可能需要一个按顺序排列的列表。下面使用构造键的列表

我们可以迭代,它按顺序返回一个
(键,值)
元组序列

from collections import Counter

c = Counter({'blue': 3, 'red': 2, 'green': 1})

keys = [key for key, val in c.most_common()]

print(keys)
# ['blue', 'red', 'green']

集合是唯一元素的无序集合,因此对它们进行排序没有任何意义

您可能需要一个按顺序排列的列表。下面使用构造键的列表

我们可以迭代,它按顺序返回一个
(键,值)
元组序列

from collections import Counter

c = Counter({'blue': 3, 'red': 2, 'green': 1})

keys = [key for key, val in c.most_common()]

print(keys)
# ['blue', 'red', 'green']

一点也没有订购。如果你得到了字母顺序,那么下次你就不能指望它是字母顺序了。集合根本就没有顺序。如果你确实得到了字母顺序,那么下次你就不能指望它是字母顺序了。为什么要重新发明轮子呢
[w代表w,n在c.most_common()]
在我的脑海中,我以为
most_common
由于某种原因默认情况下没有返回所有元素-\u-修复了,谢谢@tobias\u kWhy重新发明了轮子
[w代表w,n在c.most_common()]
在我的脑海中,我以为
most_common
由于某种原因,默认情况下没有返回所有元素-\u-无论如何都修复了,谢谢@tobias\u k