簡體   English   中英

如何使用python在另一個列表中找到一個列表?

[英]How do i find one list in another list with python?

我有兩個清單:

lista=[1,2,3,4,5,6,1,3,2,5,6]

listb=[3,4,5]

我想在lista中按照listb的順序找到listb的元素的第一次出現。

我試過了

print(lista.index(listb))

但它給出了錯誤

ValueError: [3, 4, 5] is not in list

我也試過

np.where(np.array(lista)==np.array(listb))

但它返回

(array([], dtype=int64),)

我究竟做錯了什么?

lista 和 listb 的預期輸出應該是 2。

您可以使用簡單的list comprehension

lista=[1,2,3,4,5,6,1,3,2,5,6]
listb=[3,4,5]

[print(f"Index = {x}") for x in range(len(lista)) if lista[x:x+3] == listb]

輸出:

Index = 2

如果您需要listblista索引位置。

代碼

lista=[1,2,3,4,5,6,1,3,2,5,6]

listb=[3,4,5]

for i in listb:
    if i in lista:
        print (lista.index(i))

輸出:

2
3
4

print([lista.index(n) for n in listb])

flag2 = False
for i in lista:
    if listb[0] == i:
        c = lista.index(i)
        k = c
        flag = True
        for j in range(len(listb)):
            if listb[j] != lista[c]:
                flag = False
                break
            c = c+1
        if flag:
            flag2 = True
            print(k)
            break
if not flag2:
    print('Does not exist')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM