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

如何从2D列表中生成指定元素的索引列表

Python生成二维列表指定元素的索引列表

你可以通过enumerate函数同时遍历索引和元素,筛选出符合条件的索引即可,以下是可直接运行的示例:


方法1:列表推导式(写法简洁)

生成列表格式索引

two_d_list = [[0, 1, 0, 0], [1, 1, 0, 0], [0, 0, 0, 1]]
index_list = [[row_idx, col_idx] for row_idx, row in enumerate(two_d_list) for col_idx, val in enumerate(row) if val == 1]

运行后index_list的值为[[0, 1], [1, 0], [1, 1], [2, 3]],符合需求。

生成元组格式索引

仅需修改列表推导式中内部元素的包裹符号即可:

index_list = [(row_idx, col_idx) for row_idx, row in enumerate(two_d_list) for col_idx, val in enumerate(row) if val == 1]

运行后index_list的值为[(0, 1), (1, 0), (1, 1), (2, 3)]。


方法2:普通循环写法(可读性更高)

如果需要自定义更多逻辑,或者对列表推导式不熟悉,可以用常规嵌套循环实现:

two_d_list = [[0, 1, 0, 0], [1, 1, 0, 0], [0, 0, 0, 1]]
target = 1 # 可修改为你要查找的任意目标元素
index_list = []

for row_idx, row in enumerate(two_d_list):
    for col_idx, val in enumerate(row):
        if val == target:
            # 存列表格式就传列表,存元组格式就传元组
            index_list.append([row_idx, col_idx])
            # 如需元组可替换为:index_list.append((row_idx, col_idx))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 22:45:01