Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/283.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.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_Sorting_Dictionary - Fatal编程技术网

创建一个字典另一个排序字典(python)

创建一个字典另一个排序字典(python),python,python-3.x,sorting,dictionary,Python,Python 3.x,Sorting,Dictionary,我有一本字典,每个条目的格式如下:单词:4,单词2:6。。。。我想创建一个新的字典,它只包含旧字典中10个值最高的条目。有人知道我会怎么做吗?你可以创建一个集合。从字典中计数器,从返回的元组列表中获取单词并创建一个新的dict: >>> d = {"word%d"%i : random.randint(0,100) for i in range(10)} >>> dict(collections.Counter(d).most_common(5)) {'wor

我有一本字典,每个条目的格式如下:单词:4,单词2:6。。。。我想创建一个新的字典,它只包含旧字典中10个值最高的条目。有人知道我会怎么做吗?

你可以创建一个集合。从字典中计数器,从返回的元组列表中获取单词并创建一个新的dict:

>>> d = {"word%d"%i : random.randint(0,100) for i in range(10)}
>>> dict(collections.Counter(d).most_common(5))
{'word4': 92, 'word2': 83, 'word3': 89, 'word5': 72, 'word9': 47}
或者更手动地使用带有特殊键的排序功能和切片,得到相同的结果:

>>> dict(sorted(d.items(), key=lambda t: -t[1])[:5])

我真的不知道从哪里开始。我想这和排序有关,但是?