2024-09-29 21:42:59 发布
网友
dictionary={'b': 5, 'a': 2, 'k': 5}
正确的输出应该是:dictionary={b':5,'k':5,'a':2}
采用以下方法:
sorted(dictionary.items(), key=itemgetter(1), reverse=True)
但是输出是{'k': 5, 'b': 5, 'a': 2}
{'k': 5, 'b': 5, 'a': 2}
edit1:我在用python3
python版本可能无法保持输入键值对的顺序。在这种情况下,您可以使用^{}
from operator import itemgetter from collections import OrderedDict dictionary={'b': 5, 'a': 2, 'k': 5} s = OrderedDict(sorted(dictionary.items(), key=itemgetter(1), reverse=True)) print(s) # OrderedDict([('b', 5), ('k', 5), ('a', 2)])
如果您的python版本是<;=3.5,dict将失去它们的顺序;在python3.6中,顺序保持被认为是一个实现细节,不应该依赖它。starting from python 3.7 this is considered是语言规范的一部分。你知道吗
因此,从python3.7开始,您的代码将不需要OrderedDict,您可以使用常规的dict。你知道吗
OrderedDict
dict
python版本可能无法保持输入键值对的顺序。在这种情况下,您可以使用^{}
如果您的python版本是<;=3.5,dict将失去它们的顺序;在python3.6中,顺序保持被认为是一个实现细节,不应该依赖它。starting from python 3.7 this is considered是语言规范的一部分。你知道吗
因此,从python3.7开始,您的代码将不需要
OrderedDict
,您可以使用常规的dict
。你知道吗相关问题 更多 >
编程相关推荐