You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从含字典的嵌套列表中提取目标列表

如何用Python提取双层嵌套列表中的单层列表

你有一个双层嵌套的列表结构(外层是一个列表,里面仅包含一个目标列表),示例如下:

[[{'stat': 'Ok', 'time': '22-12-2022 15:25:00', 'ssboe': '1671702900', 'into': '332.40', 'inth': '332.80', 'intl': '332.00', 'intc': '332.45', 'intvwap': '332.30', 'intv': '140828', 'intoi': '0', 'v': '6583955', 'oi': '0'}, {'stat': 'Ok', 'time': '22-12-2022 15:20:00', 'ssboe': '1671702600', 'into': '332.30', 'inth': '332.45', 'intl': '332.25', 'intc': '332.35', 'intvwap': '332.23', 'intv': '117775', 'intoi': '0', 'v': '6443127', 'oi': '0'}]]

需要将其转换为单层的目标列表:

[{'stat': 'Ok', 'time': '22-12-2022 15:25:00', 'ssboe': '1671702900', 'into': '332.40', 'inth': '332.80', 'intl': '332.00', 'intc': '332.45', 'intvwap': '332.30', 'intv': '140828', 'intoi': '0', 'v': '6583955', 'oi': '0'}, {'stat': 'Ok', 'time': '22-12-2022 15:20:00', 'ssboe': '1671702600', 'into': '332.30', 'inth': '332.45', 'intl': '332.25', 'intc': '332.35', 'intvwap': '332.23', 'intv': '117775', 'intoi': '0', 'v': '6443127', 'oi': '0'}]

方法1:直接索引取值

这是最直观的方法,因为外层列表只有一个元素(即目标列表),直接通过索引[0]提取:

nested_list = [[{'stat': 'Ok', 'time': '22-12-2022 15:25:00', 'ssboe': '1671702900', 'into': '332.40', 'inth': '332.80', 'intl': '332.00', 'intc': '332.45', 'intvwap': '332.30', 'intv': '140828', 'intoi': '0', 'v': '6583955', 'oi': '0'}, {'stat': 'Ok', 'time': '22-12-2022 15:20:00', 'ssboe': '1671702600', 'into': '332.30', 'inth': '332.45', 'intl': '332.25', 'intc': '332.35', 'intvwap': '332.23', 'intv': '117775', 'intoi': '0', 'v': '6443127', 'oi': '0'}]]
target_list = nested_list[0]
print(target_list)

方法2:解包外层列表

利用Python的解包语法,直接取出外层列表的唯一元素:

nested_list = [[{'stat': 'Ok', 'time': '22-12-2022 15:25:00', 'ssboe': '1671702900', 'into': '332.40', 'inth': '332.80', 'intl': '332.00', 'intc': '332.45', 'intvwap': '332.30', 'intv': '140828', 'intoi': '0', 'v': '6583955', 'oi': '0'}, {'stat': 'Ok', 'time': '22-12-2022 15:20:00', 'ssboe': '1671702600', 'into': '332.30', 'inth': '332.45', 'intl': '332.25', 'intc': '332.35', 'intvwap': '332.23', 'intv': '117775', 'intoi': '0', 'v': '6443127', 'oi': '0'}]]
# 注意逗号,确保解包单个元素
target_list, = nested_list
print(target_list)

也可以用*解包:

*target_list, = nested_list
# 或者简化为
target_list = *nested_list,

方法3:列表推导式(扩展场景适用)

如果不确定外层列表是否只有一个元素,或者需要合并所有内层列表的元素,可使用列表推导式:

nested_list = [[{'stat': 'Ok', 'time': '22-12-2022 15:25:00', 'ssboe': '1671702900', 'into': '332.40', 'inth': '332.80', 'intl': '332.00', 'intc': '332.45', 'intvwap': '332.30', 'intv': '140828', 'intoi': '0', 'v': '6583955', 'oi': '0'}, {'stat': 'Ok', 'time': '22-12-2022 15:20:00', 'ssboe': '1671702600', 'into': '332.30', 'inth': '332.45', 'intl': '332.25', 'intc': '332.35', 'intvwap': '332.23', 'intv': '117775', 'intoi': '0', 'v': '6443127', 'oi': '0'}]]
# 提取所有内层列表的元素合并
target_list = [item for sublist in nested_list for item in sublist]
# 若明确外层只有一个子列表,直接取第一个即可
target_list = nested_list[0]

内容的提问来源于stack exchange,提问作者Arun_K_Bhaskar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 01:35:24