2017-08-29 48 views
-2

這看似簡單,但也許我剛剛我的頭就太長了...... 我有一個包含六個數字列表:的Python:檢查數量的元素完全匹配

mylist=[2,4,6,8,10,12]

我只是想檢查如果列表中包含一個確切的序列 即 if mylist == [1,2,3,4,5,6]:

我已經試過

if mylist == [1,2,3,4,5,6]: 
if mylist == ['1','2','3','4','5','6'] 
if mylist == ["1","2","3","4","5","6"] 

沒有任何工作。我使用list.count()函數的for循環有另一種方法,但我覺得上面的方法會更好,如果可能的話。有人可以提供見解嗎?

感謝;)

+1

你認爲'list == [1,2,3,4,5,6]'有什麼問題? – user2357112

+0

我有代碼裏面的if語句不執行時,if語句就像那樣製作即如果列表== [1,2,3,4,5,6]:print(「x」) –

+0

「檢查是否列表包含和確切的序列「......你想要什麼? 斷言mylist與引用完全相同,或者mylist中的所有元素都在引用中,或者它們在引用中的順序相同,但引用中可能還有其他元素,或者mylist中的元素等於引用中的元素集合? –

回答

1

如果順序並不重要,你可以使用下面的代碼來檢查mylist是否設置爲這個[1,2,3,4,5,6]

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

if sorted(mylist) == sorted([1,2,3,4,5,6]): 
    print("True") 
else: 
    print("False") 
0

至於你能不能檢查順序並不重要所有的單個元素都存在?

>>> all([x in [1,2,3,4,5,6] for x in [1,2,3,4,5,6]]) 
True 
>>> all([x in [1,2,3,4,5,6,7] for x in [1,2,3,4,5,6]]) 
True 
>>> all([x in [1,2,3,4,5,6] for x in [1,2,3,4,5,6,7]]) 
False