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

如何获取两个列表相同位置元素均为1的对应索引?

问题分析

原有代码的错误点如下:

  • 不需要双层循环:我们需要对比两个列表相同索引位置的元素,仅用一层循环遍历公共索引即可,双层循环且内外层都用变量i会导致索引逻辑完全混乱
  • 追加值错误:原代码满足条件时追加的是lst1[i]也就是元素值1,需求要的是对应索引i
正确实现代码

基础写法(易理解)

lst1 = [1,0,0,1,1]
lst2 = [0,0,1,1,0]
my_list = []

# 遍历两个列表的公共索引,如果长度不一致可改为range(min(len(lst1), len(lst2)))避免越界
for idx in range(len(lst1)):
    if lst1[idx] == 1 and lst2[idx] == 1:
        my_list.append(idx)

print(my_list) # 输出 [3]

简洁写法(列表推导式)

lst1 = [1,0,0,1,1]
lst2 = [0,0,1,1,0]
my_list = [idx for idx, (val1, val2) in enumerate(zip(lst1, lst2)) if val1 == val2 == 1]
print(my_list) # 输出 [3]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:57:03