我有一张名单叫myList。我想实现的是,我想根据age key的值对列表进行排序。我知道可以用排序函数来完成,但我不知道如何为键编写函数。任何人都可以向我提出解决问题的办法。你知道吗
myList = [ {'john':{'age':30 ,'salary':600000}}, {'mullar':{'age':25 ,'salary':250000}},
{'todd':{'age':40 ,'salary':300000}},{'rolex':{'age':20 ,'salary':450000}},
{'ron':{'age':20 ,'salary':500000}},{'gilex':{'age':30 ,'salary':450000}},
{'larrat':{'age':41 ,'salary':350000}},{'fyoid':{'age':24 ,'salary':400000}},
{'devon':{'age':33 ,'salary':600000}},{'dron':{'age':20 ,'salary':200000}}
]
结果
问题是您的列表中包含一个包含字典的字典。你需要弄到内部字典。这通常通过获取
next
项来解决:next(iter(subdict.values()))
。获取'age'
值并不复杂,只需使用'age'
索引即可:除了
lambda
,您还可以def
生成函数:同样有效:
不过,我个人会首先将字典展平(要么作为单个字典或
collections.namedtuple
,要么如果您可以访问pandas
,然后作为DataFrames
):它简化了
key
-函数:使用
DataFrame
更容易:相关问题 更多 >
编程相关推荐