无法访问嵌套字典的属性

问题描述

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


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()]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...