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

Python:如何获取二维列表中值为1的元素的相邻索引

提取二维列表中值为1元素的自身及左右相邻索引

问题描述

给定二维列表:

data = [[0,0,0,0,0,1,0,0,0,0], [0,1,0,0,0,0,0,0,0,0]]

需要获取每个子列表中值为1的元素的自身索引、左侧相邻索引、右侧相邻索引,预期输出:

[[4, 5, 6], [0, 1, 2]]

示例说明:

  • 第一行中值为1的元素索引是5,对应取左侧4、自身5、右侧6
  • 第二行中值为1的元素索引是1,对应取左侧0、自身1、右侧2

解决方案

通过遍历二维列表的每个子列表,定位值为1的元素索引后计算相邻索引,代码实现如下:

data = [[0,0,0,0,0,1,0,0,0,0], [0,1,0,0,0,0,0,0,0,0]]
result = []

for sub_list in data:
    # 找到子列表中值为1的元素索引
    idx = sub_list.index(1)
    # 生成包含左、自身、右的索引列表
    result.append([idx-1, idx, idx+1])

print(result)

运行后即可得到预期输出。

补充说明

  • 上述代码默认每个子列表仅存在一个值为1的元素,若有多个1,可改用循环遍历所有匹配索引并分别处理;
  • 若1出现在子列表首尾位置(如索引0或最后一位),idx-1或idx+1会得到负数或超出列表长度的索引,可根据需求添加边界判断逻辑(比如保留边界值或跳过无效索引)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 09:15:41