Skip to main content
 首页 » 编程设计

python之无法从 for 循环中的列表中提取字典

2025年05月04日13落叶无声

我想遍历字典列表,但它给我 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()。