我有一个 4 长列表的列表 L
L = [[1,2,12,13],[2,3,13,14],...]
以及在子列表中多次出现的两个整数 a 和 b。我想要的是找到 L 中包含 a AND b 的子列表的索引。
我写了一点代码
l=[]
for i in range(len(L)):
if L[i][0]==a or L[i][1]==a or L[i][2]==a or L[i][3]==a:
l.append([i] + L[i]) # I put the index in the first position.
# Now l is a list of 5-length lists.
# I do the same loop on that list.
r=[]
for i in range(len(l)):
if l[i][1]==b or l[i][2]==b or l[i][3]==b or l[i][4]==b:
r.append(i)
我要查找的索引在列表 r 中。但是我很确定在 Python 中还有另一种方法可以做到这一点,因为我几乎不知道这种语言。也许如果我的变量 L 不是列表列表,它会更容易/更快,因为我会在我的主程序中多次调用这个过程。(len(L) 约为 3000)
顺便说一句,我知道索引的数量在 1 到 4 之间,所以我可以休息一下,但我不知道它是否会更快。
---------------- 编辑 1 ----------------
将第二句中的“a or b (or is inclusive)”改为“a AND b”。我写了一个关于我的目标的错误。