2012-09-12 85 views
-2

我有一個清單[1,2,3,4,5,6,7,8,9,10,T1024] 我想檢查值1.但如果我做一...檢查值的列表

if list.__contains__(1): 

然後,我將獲得1,10,T1024。有沒有一個簡單的方法來做到這一點。也許使用某種類型的正則表達式。 也是執行一個「包含」,而不是一個「for」循環快得多?

謝謝大家,

+0

我認爲你在這裏混雜了很多東西。你究竟想要做什麼? –

+1

一般建議:除非你知道你在做什麼,否則不要使用以下劃線開頭的方法。 – deadly

+0

什麼是T1024?一個變量? –

回答

4

不,你不會那樣做。

首先,這是一個列表,而不是字典。其次,你在這裏發佈的是SyntaxError(除非T1024碰巧是你之前定義的對象的名稱)。

而且,正確的成語是

if 1 in mylist: 

最後,不要使用list作爲變量名。


瞭解如果您定義的列表這樣你所看到的結果:

mylist = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "T1024"] 

,如果你已經檢查"1"這樣的:

for item in mylist: 
    if "1" in item: 
     print item 

,因爲in運算符在應用於字符串時檢查子字符串。

1

你說的是一本字典是一個列表,並檢查列表中的給定值,我會做:

if 1 in myList: 
    doSomething 
else: 
    doSomethingElse 
3

可以使用in操作檢查列表成員:

if 1 in list: 

此外,你應該在一個列表(你有什麼 - 值的有序集合)之間的差別清晰和字典(鍵值對的無序集合)