【发布时间】:2018-06-06 20:46:59
【问题描述】:
好吧,也许我的标题不是最好的,但这基本上是我的问题: 我有三个看起来像这样的字典:
dict1 = {'America': 200, 'Europe': 344, 'Asia': 204, 'Oceania': 38, 'Africa': 14}
dict2 = {'Europe': 394, 'America': 225, 'Asia': 293, 'Oceania': 43, 'Africa': 26}
dict3 = {'Europe': 420, 'America': 250, 'Asia': 363, 'Oceania': 43, 'Africa': 27}
我想做的是,将字典分成三个列表,根据它们的键值正确“拆分”,就像这样:
list1 = [200, 344, 204, 38, 14]
list2 = [225, 394, 293, 43, 26]
list3 = [250, 420, 363, 43, 27]
编辑:所需顺序 = ['America', 'Europe', 'Asia', 'Oceania', 'Africa']
这很容易吗?我尝试了一堆 for 循环,但无法正确保持顺序。
【问题讨论】:
-
我不明白你想要什么顺序。
list1有欧洲、美洲、亚洲、大洋洲、非洲;list2和list3有美洲、欧洲、亚洲、大洋洲、非洲。因此,您似乎正试图从 dict 中获得相同的无意义的任意顺序,然后交换前两个值,我无法想象这为什么会有用。 -
您的示例顺序不一致 - 您要保持什么顺序?
-
任何合理的事情都很容易做到。例如,如果您想要排序键顺序的值(所有三个字典都为
Africa, America, Asia, Europe, Oceania),那只是list1 = [dict1[key] for key in sorted(dict1)]?但是你必须先知道你想要什么顺序,并且能够用文字表达出来,然后你(或其他任何人)才能为它编写代码。 -
哦,很抱歉不清楚这一点,字典可以按他们想要的任何方式排序。编辑它更清楚。
标签: python list dictionary key