我有一个字典列表。可以假设每个列表都有相同格式的字典。我们称这种格式为:
dict_sample={'a':0,'b':1}
假设它a
是一个随机整数,而 b 可以是几个数字之一(或字符串,就此而言)。我想按 . 对所有a
值进行排序b
。例如,如果我有一个如下列表:
a b
54 1
25 0
53 1
532 2
132 0
list=[{'a':54,'b':1},{'a':25,'b':0},{'a':53,'b':1},{'a':532,'b':2},{'a':132,'b':0}]
我想将其分解为 3 个列表。列表将包括(顺序不重要)
0 list-> [25,132]
1 list-> [54,53]
2 list-> [532]
我知道我可以a
按如下方式从列表中打破所有 's,但我无法找到一个优雅的解决方案来对a
's进行排序b
。有什么建议么?到目前为止,我的代码如下所示:
[row['a'] for row in list]
我想要的是这样的:
index=0 #This could be looped through, or just chosen for one specific value
[row['a'] if row['b']==index for row in list]