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

Python中如何访问嵌套列表字典元素并提取指定值?

提取嵌套结构中的start/end值

你手里的是嵌套列表加字典的结构,每个子列表里包含若干带start和end键的字典。下面是几种提取对应值的方法:

首先把数据赋值给变量:

data = [[{'start': 88608, 'end': 94176}], [{'start': 56352, 'end': 63456}, {'start': 119328, 'end': 151008}], [{'start': 88608, 'end': 114144}, {'start': 123936, 'end': 131040}, {'start': 136224, 'end': 160000}], [{'start': 79392, 'end': 144864}], [{'start': 110112, 'end': 147936}]]

提取所有start值到列表

方法一:嵌套列表推导式(最简洁)

直接遍历两层结构,提取每个字典的start值:

start_values = [item['start'] for sublist in data for item in sublist]
print(start_values)
# 输出:[88608, 56352, 119328, 88608, 123936, 136224, 79392, 110112]

要提取end值的话,把'start'换成'end'即可:

end_values = [item['end'] for sublist in data for item in sublist]
print(end_values)
# 输出:[94176, 63456, 151008, 114144, 131040, 160000, 144864, 147936]

方法二:普通循环遍历(更直观)

如果觉得列表推导式不好理解,用两层for循环实现同样逻辑:

start_values = []
for sublist in data:
    for item in sublist:
        start_values.append(item['start'])
print(start_values)

提取特定的start值(比如你举例的88608、56352、119328)

可以根据子列表的位置和元素位置精准提取:

target_starts = []
# 取第一个子列表的第一个元素start
target_starts.append(data[0][0]['start'])
# 取第二个子列表所有元素的start
target_starts.extend([item['start'] for item in data[1]])
print(target_starts)
# 输出:[88608, 56352, 119328]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 03:40:22