无法访问嵌套字典的属性

时间:2021-03-12 14:36:10

标签: python dictionary data-structures list-comprehension

我有一本字典,里面有相同项目的字典:


my_dict = {
  "person_1" : {
     "name" : "Roberta",
     "income_ratio" : 0.89
  },
  "person_2" : {
     "name" : "Roberta",
     "income_ratio" : 0.89
  },
  "person_3" : {
     "name" : "Roberta",
     "income_ratio" : 0.89
  },
  "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

非常欢迎提供一些指导。

1 个答案:

答案 0 :(得分:0)

这是一个解决方案:

[my_dict[k]['income_ratio'] for k in my_dict.keys()]