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

如何遍历指定嵌套列表并访问其中的int类型值?

嵌套列表的遍历与整数数值访问方法

给定嵌套列表:

occurence_list = [["sleep", ["morning_meds", 2], ["watching_tv", 3]], ["morning_meds", ["sleep", 1], ["watching_tv", 3]]]

1. 遍历该嵌套列表

针对这个列表的结构(每个外层元素包含1个主事件字符串,以及多个[关联事件, 次数]子列表),用嵌套循环就能完成遍历:

for entry in occurence_list:
    # 提取当前主事件
    main_event = entry[0]
    print(f"主事件:{main_event}")
    # 遍历后续的关联事件子列表
    for related_entry in entry[1:]:
        related_event, count = related_entry
        print(f"关联事件:{related_event},出现次数:{count}")

如果需要处理更复杂的多层嵌套结构,也可以用递归函数:

def traverse_nested_list(lst):
    for element in lst:
        if isinstance(element, list):
            traverse_nested_list(element)
        else:
            print(element)

traverse_nested_list(occurence_list)

2. 访问列表中的整数类型数值

方法一:通过索引直接定位

明确数值所在的层级位置后,用索引逐层访问:

# 获取第一个主事件(sleep)下第一个关联事件的数值
count_1 = occurence_list[0][1][1]
print(count_1)  # 输出:2

# 获取第二个主事件(morning_meds)下第二个关联事件的数值
count_2 = occurence_list[1][2][1]
print(count_2)  # 输出:3

方法二:遍历收集所有整数数值

如果需要提取列表中所有整数,可以结合遍历和类型判断:

all_integers = []
for entry in occurence_list:
    for related_entry in entry[1:]:
        # 直接提取子列表的第二个元素(已知是整数)
        all_integers.append(related_entry[1])

# 通用版:通过类型判断筛选所有整数
all_integers = []
def collect_integers(lst):
    for element in lst:
        if isinstance(element, list):
            collect_integers(element)
        elif isinstance(element, int):
            all_integers.append(element)

collect_integers(occurence_list)
print(all_integers)  # 输出:[2, 3, 1, 3]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 19:09:28