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

Python中如何获取子列表在嵌套列表中的位置

问题

给定以下嵌套列表和子列表:

A = [['0', '6', '4', '3'], ['0', '2', '8', '3'], ['0', '4', '1', '5'], ['0', '3', '2', '5']]
B = ['0', '4', '1', '5']

需要找出子列表B在A中的行位置(预期结果为第3行,行号从1开始计数),尝试用for循环实现但未得到理想结果。

解决方案

方法1:带索引遍历匹配

通过enumerate同时获取子列表的索引和内容,匹配成功后将索引加1(转为从1开始的行号):

A = [['0', '6', '4', '3'], ['0', '2', '8', '3'], ['0', '4', '1', '5'], ['0', '3', '2', '5']]
B = ['0', '4', '1', '5']

for idx, sublist in enumerate(A):
    if sublist == B:
        print(f"第{idx + 1}行")
        break

如果需要处理B不存在的情况,可添加else分支:

for idx, sublist in enumerate(A):
    if sublist == B:
        print(f"第{idx + 1}行")
        break
else:
    print("未找到子列表B")

方法2:利用list.index()方法

若确定B必然存在于A中,可直接调用index()获取索引后加1:

row_number = A.index(B) + 1
print(f"第{row_number}行")

若不确定B是否存在,建议先判断避免报错:

if B in A:
    row_number = A.index(B) + 1
    print(f"第{row_number}行")
else:
    print("未找到子列表B")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 01:10:29