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
相关产品推荐
相关产品推荐

