如何提取列表中嵌套字典的数值并生成指定格式的数值列表?
提取字典值生成嵌套列表的实现方法
嘿,这事儿其实很容易解决,用Python的列表推导式就能快速达成你的需求!
具体实现代码
首先先定义你的原始列表:
my_list = [{'Wheels': 1, 'Handle': 1, 'Service': 1}, {'Wheels': 2, 'Forks': 1, 'Handle': 1, 'Service': 1}, {'Electronic': 1, 'Sensor': 2, 'Hydraulic': 1}]
然后用一行列表推导式就能得到目标结果:
result = [list(dictionary.values()) for dictionary in my_list] print(result)
运行这段代码后,输出就是你想要的:
[[1, 1, 1], [2, 1, 1, 1], [1, 2, 1]]
简单解释
- 我们遍历
my_list中的每一个字典元素dictionary - 调用
dictionary.values()获取该字典里的所有数值(Python 3中这个方法返回的是一个视图对象,所以用list()把它转换成列表) - 列表推导式会自动把每个字典对应的数值列表收集起来,形成最终的嵌套列表
注意:在Python 3.7及以上版本中,字典会保持键值对的插入顺序,所以提取出的数值顺序会和你原始字典里的顺序完全一致。如果是更早的Python版本,字典不保证顺序,若需要固定顺序的话,可以先对字典的键进行排序再取值,不过看你的需求示例,用上面的方法就足够啦。
内容的提问来源于stack exchange,提问作者Rohaan Sheikh
相关产品推荐
相关产品推荐

