如何读取列表中字典的键值对并将值存入新列表
解决列表包含字典的遍历与值提取问题
错误原因
你遇到的AttributeError是因为my_test_data是列表对象,而items()是字典专属的方法,列表并没有这个属性,所以不能直接对列表调用items()。
解决方案
根据你的需求,分两种场景处理:
场景1:列表中只有一个字典(如你的示例)
直接取出列表中的字典,再提取它的所有值存入新列表:
# 取出列表里的字典 target_dict = my_test_data[0] # 提取值到新列表 new_list = list(target_dict.values())
或者简化为一行代码:
new_list = list(my_test_data[0].values())
运行后new_list会得到:[None, None, None, None, None]
场景2:列表中包含多个字典
如果后续你的列表里有多个字典,可按以下方式处理:
- 方式1:每个字典的值作为新列表的子元素
new_list = [] for d in my_test_data: new_list.append(list(d.values()))
用列表推导式简化:
new_list = [list(d.values()) for d in my_test_data]
- 方式2:将所有字典的值合并成一个扁平的大列表
new_list = [] for d in my_test_data: new_list.extend(d.values())
用列表推导式简化:
new_list = [val for d in my_test_data for val in d.values()]
内容的提问来源于stack exchange,提问作者Baba
相关产品推荐
相关产品推荐

