如何查找含指定元素的子列表索引?以CORA相关子列表为例
获取列表中包含指定元素的子列表索引
针对你给出的示例,要找出所有第一个元素为"CORA"的子列表(元组)对应的索引,用Python的enumerate工具配合列表推导式是最简洁高效的方式:
list1 = [('CORA', 'As'), ('CORA', '9'), ('DIA', 'K'), ('DIA', 'As'), ('CORA', 'J'), ('CORA', '6'), ('DIA', '7'),] # 遍历列表,同时获取索引和元素,筛选符合条件的索引 cora_indices = [index for index, sub_item in enumerate(list1) if sub_item[0] == 'CORA'] print(cora_indices) # 输出结果: [0, 1, 4, 5]
代码解释:
enumerate(list1)会返回一个迭代器,每次迭代给出一对值:当前元素的索引和元素本身,这样我们不用手动维护计数器来追踪位置。- 列表推导式里的条件
sub_item[0] == 'CORA'专门适配你的示例场景,检查每个元组的第一个元素是否为"CORA",符合条件的索引会被自动收集到结果列表中。
扩展适配:
如果你的需求变成**子列表任意位置包含"CORA"**都要收集索引,只需要把判断条件改成'CORA' in sub_item即可:
# 只要子列表内存在CORA就收集对应索引 cora_indices = [index for index, sub_item in enumerate(list1) if 'CORA' in sub_item]
这种写法既简洁易读,处理中小规模列表的效率也很可观。
内容的提问来源于stack exchange,提问作者Diego Mencos
相关产品推荐
相关产品推荐

