2024-05-16 22:39:31 发布
网友
我有一本这样的字典:
Averages = {'Jennifer': [1],'Chris': [5],'Malcolm': [9]}
我想把那本字典(不是新的)改成:
Averages = {'Malcolm': 9, 'Chris': 5, 'Jennifer': 1}
我该怎么做?你知道吗
您可以使用dictionary comprehension
dictionary comprehension
>>> Averages2 ={k:v[0] for k,v in Averages.items()} >>> Averages2 {'Chris': 5, 'Malcolm': 9, 'Jennifer': 1}
把两个答案合并在一起,你应该有这样一个有序的信息
import operator from collections import OrderedDict Averages = {'Jennifer': [1],'Chris': [5],'Malcolm': [9]} Averages ={k:v[0] for k,v in Averages.items()} Averages = OrderedDict(sorted(Averages.items(), key=operator.itemgetter(1), reverse=True))
python中的字典被声明为无序的,它们没有顺序。因此你不能强迫他们保存订单。您可以尝试从任何有序对象创建dict,它将失去其顺序,所以请忘记这一点。如果需要排序,可以使用不同的类型,如list或ordered dict。你知道吗
@JoeК回答你,如何使你的字典成为整数的字典,而不是列表。如果要获取其已订购项目的列表,请尝试以下操作:
>>>import operator >>> A = sorted(Averages.items(), key=operator.itemgetter(1)) >>> A [('Jenifer', 1), ('Chris', 5), ('Malcolm', 9)]
如果你认为这是你需要的顺序-那就好了。如果你还坚持要在字典里订这些东西,试试看:
>>> dict(A) {'Chris': 5, 'Malcolm': 9, 'Jenifer': 1}
这是不可能的。你知道吗
您可以使用
dictionary comprehension
把两个答案合并在一起,你应该有这样一个有序的信息
python中的字典被声明为无序的,它们没有顺序。因此你不能强迫他们保存订单。您可以尝试从任何有序对象创建dict,它将失去其顺序,所以请忘记这一点。如果需要排序,可以使用不同的类型,如list或ordered dict。你知道吗
@JoeК回答你,如何使你的字典成为整数的字典,而不是列表。如果要获取其已订购项目的列表,请尝试以下操作:
如果你认为这是你需要的顺序-那就好了。如果你还坚持要在字典里订这些东西,试试看:
这是不可能的。你知道吗
相关问题 更多 >
编程相关推荐