python元组列表中元素的索引

2024-10-01 07:37:54 发布

您现在位置:Python中文网/ 问答频道 /正文

问题

给定两个列表A和B,我想得到列表A中存在于列表B中的所有元素的索引。每个元素都是一个元组

我正在使用大小为40000个元素左右的列表

样本箱

输入:

A = [(1,2),(3,4),(5,6),(7,8)]

B = [(1,2),(3,4),(5,6)]

预期产出:

[0,1,2]

尝试的解决方案

我尝试了两种解决方案:

1)使用地图功能

m = map(a.index,b)
list(m)

2)使用列表理解

m = [a.index(item) for item in b if item in a]

这些方法似乎花费了太多的时间。有没有其他方法可以做到这一点


Tags: 方法in元素map列表forindexif
1条回答
网友
1楼 · 发布于 2024-10-01 07:37:54

下面是你最好的选择。我使用一个集合(即,set(B)),因为搜索特定的元组可以在O(1)时间复杂度下完成

m = [index for index, tuple in enumerate(A) if tuple in set(B)]

相关问题 更多 >