问题描述
我有一本字典,里面有相同项目的字典:
my_dict = {
"person_1" : {
"name" : "Roberta","income_ratio" : 0.89
},"person_2" : {
"name" : "Roberta","person_3" : {
"name" : "Roberta","person_4" : {
"name" : "Roberta","income_ratio" : 0.89
}
}
我想将每个 income_ratio
存储在一个列表中,我正在使用:
incomes = []
for person in my_dict.items():
incomes.append(person[1]["income_ratio"])
这很好用,但出于学习目的,我正在寻找一种更~pythonic~的方式来实现这个结果。尝试使用列表理解时出现错误:
incomes = [person[1]["income_ratio"] for person in my_dict.items()]
> TypeError: 'float' object is not subscriptable
非常欢迎提供一些指导。
解决方法
这是一个解决方案:
[my_dict[k]['income_ratio'] for k in my_dict.keys()]