Python如何提取列表内字典的键值并生成字典值新列表?
解决Python列表中的字典提取与新列表生成问题
一、提取列表中字典的键与值
给定列表list1 = ["john", 10, 20, {"joe":50, "robert":60}],先定位到列表内的字典元素(索引为3的项),再分别提取其键和值:
list1 = ["john", 10, 20, {"joe":50, "robert":60}] # 取出列表中的字典 target_dict = list1[3] # 提取字典的键并转为列表 dict_keys = list(target_dict.keys()) # 提取字典的值并转为列表 dict_values = list(target_dict.values()) print("字典的键:", dict_keys) print("字典的值:", dict_values)
运行输出:
字典的键: ['joe', 'robert']
字典的值: [50, 60]
二、基于字典的值生成新列表
可以针对单个字典直接处理,也能兼容列表含多个字典的通用场景:
单个字典场景
list1 = ["john", 10, 20, {"joe":50, "robert":60}] # 直接生成值的新列表 new_list = list(list1[3].values()) print("新列表:", new_list)
运行输出:
新列表: [50, 60]
多字典通用场景
如果列表中可能存在多个字典元素,可遍历筛选后收集值:
list1 = ["john", 10, 20, {"joe":50, "robert":60}, {"alice":70}] new_list = [] for item in list1: # 判断当前项是否为字典 if isinstance(item, dict): new_list.extend(item.values()) print("通用方式生成的新列表:", new_list)
运行输出:
通用方式生成的新列表: [50, 60, 70]
内容的提问来源于stack exchange,提问作者Rajaganapathi S
相关产品推荐
相关产品推荐

