我想遍历字典列表,但它给我 AttributeError
这是我的代码 -
user_list = []
new_user = { 'last': 'fermi',
'first': 'enrico',
'username': 'efermi', }
user_list.append(new_user)
new_user = { 'last': 'fermi2',
'first': 'enrico2',
'username': 'efermi2', }
user_list.append(new_user)
for users_dict in user_list:
for k, v in users_dict.items(): # fails at this line
if(k == 'username'):
user_list.append(v)
异常 -
Traceback (most recent call last): File "C:/Users/Derick/PycharmProjects/Puthon3_2019/dictionaries2.py", line 14, in for k, v in users_dict.items(): # fails at this line AttributeError: 'str' object has no attribute 'items'
但是,如果我像下面那样访问字典,则工作正常 -
print(user_list[0].items())
我给了我-
dict_items([('last', 'fermi'), ('first', 'enrico'), ('username', 'efermi')])
最佳答案
您无法在遍历列表时向列表中添加内容。 user_list.append(v)
将一个字符串添加到字典列表中,它会导致下一次迭代失败,因为它会尝试在字符串中执行 .items()
。
关于python - 无法从 for 循环中的列表中提取字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55673487/