我想在生成器和列表上运行嵌套循环。在循环中,我想访问每个元素的属性
我发现了关于在对象属性上循环的类似代码问题,但我无法解决我遇到的问题
以下是我的代码工作:
gen = api.search_submissions() # gen is generator of submissions
f_list = ['id','title']
sub_dict = {
'id':[],
'title':[]
}
for sub in gen:
for name in f_list:
sub_dict[name].append(sub.name)
我遇到了一个问题,python没有为.append方法中的'name'赋值
Traceback (most recent call last):
File "<stdin>", line 3, in <module>
AttributeError: 'submission' object has no attribute 'name'
我怎样才能解决这个问题?多谢各位
循环是在
f_list
的值上循环,并将它们分配给变量name
。问题在于属性访问表达式(如sub.name
)没有检查匹配变量的本地范围,并用其值替换名称。名为name
的局部变量的存在与否不会改变sub.name
将在子对象上查找字面上名为“name”的属性这一事实您可以使用
getattr
获取对象的属性,给定一个包含属性名称的字符串相关问题 更多 >
编程相关推荐