如何从指定格式的OrderedDict列表中提取值生成新列表?
提取OrderedDict列表里的Component值
嘿,这个需求很简单,我给你分享几种实用的解决方式:
首先先明确你的原始数据结构(顺便把变量名改了下,避免和Python内置的list类型重名):
from collections import OrderedDict original_list = [OrderedDict([('Component', 'AAAA')]), OrderedDict([('Component', 'BBBB')])]
方法1:列表推导式(最简洁高效)
这是Python里处理这类需求的标配写法,一行代码就能搞定:
new_list = [item['Component'] for item in original_list]
运行后new_list就是['AAAA', 'BBBB'],完美符合你的要求。
方法2:普通for循环(适合新手理解逻辑)
如果刚接触Python,觉得列表推导式有点绕,用普通循环一步步来也完全没问题:
new_list = [] for item in original_list: # 每个item都是一个OrderedDict,直接用键取值就行 new_list.append(item['Component'])
原理和上面一样,就是逐个遍历原列表里的每个OrderedDict,把对应Component的值添加到新列表中。
小提醒
OrderedDict和普通字典的取值逻辑是完全一致的,所以直接用['Component']索引就能拿到值,而且原列表的顺序也会被完整保留下来,不用担心乱序的问题~
内容的提问来源于stack exchange,提问作者Rahul Nanda
相关产品推荐
相关产品推荐

