Python 以字典值的形式访问对象的属性

标签 python dictionary

假设我有一个像这样的dict:

dict = {'people': [<Bob>], 'animals': [<Frank>]}

Bob 和 Frank 是两个具有属性的对象:

Bob = MethodForCreateAPerson(){          Frank = MethodForCreateAnimals(){
    name = 'Bob',                            name = 'Frank',
    age = 30,                                age = 6,
    sex = 'm'                                sex = 'w'
}                                         }

问题是:

当 Bob 和 Frank 的属性是 dict 的值时,如何访问它们?

换句话说,我需要检查从 dict.values() 返回的对象的属性。

感谢帮助

最佳答案

尚不完全清楚您的结构实际上是什么样子,但如果您的字典中的值是对象列表,那么以下内容将起作用:

people = dict['people'] #  get the people list
bob = people[0] #  the first entry in that list is bob
name_of_bob = bob.name #  access the name of bob

also_name_of_bob = dict['people'][0].name #  does the same but in 1 line

像这样访问人员列表可能不是您希望在代码中执行的操作,您可能希望像这样迭代所有人员:

for person in dict['people']:
    person_name = person.name
    # do something with the person or the name    

关于Python 以字典值的形式访问对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48091943/

相关文章:

r - 在R环境中,如何遍历哈希项?

c++ - map 插入中的参数不匹配错误

python - Pandas - 循环遍历groupBy结果时获取一行数据

python - 执行算术代码时给出不寻常的结果

python - matplotlib:为什么绘制历史记录会在python中导致IndexError?

python - 字典中的每个值都有两个键

python - 如何在 python 中读取根 XML 标记

python - IDA 专业进口

swift - 使用 AnyObject 时 Bool 被视为 int

python - 有没有比单独存储双向字典更好的方法?