2013-07-05 141 views
0

循環我有一個問題:比較與蟒蛇

list = [1,2,3,4,5] 
a= 3 
if a==[item for item in list]: 
    print(sth) 

爲什麼程序打印,也不要? 感謝...

+0

不要對你的列表變量,它在內部代表名單 –

回答

5

你是一個整數比較列表,因爲它們是不同的類型,這將永遠不會返回True。請注意,[item for item in list]與剛纔說的list完全一樣。

你可能想知道,如果3是在列表中;所以你可以做:

if a in list: 
    print(sth) 

甚至:

if any(a == item for item in list): 
    print(sth) 

(雖然你真的應該只使用第一個選項,我只把第二個選項,因爲它看起來類似你的例子:P)


作爲一個側面說明,你不應該命名列表list,或字典dict,因爲它們是內置類型已經和你只是重寫他們:p。

+0

感謝好友,IM整天學習編程後相當愚蠢的,現在的類型。也謝謝你這麼快回復。 – user2518498

+0

@ user2518498不客氣!不要忘記[接受答案](http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)! :) – TerryA