2011-10-10 185 views
6

我對Python很新,我想知道是否有一種簡潔的方式來測試值是否是列表中的值之一,類似於SQL WHERE條款。對不起,如果這是一個基本的問題。檢查變量是否在列表中

MsUpdate.UpdateClassificationTitle in (
     'Critical Updates', 
     'Feature Packs', 
     'Security Updates', 
     'Tools', 
     'Update Rollups', 
     'Updates', 
     ) 

即,我想寫:

if MsUpdate.UpdateClassificationTitle in (
     'Critical Updates', 
     'Feature Packs', 
     'Security Updates', 
     'Tools', 
     'Update Rollups', 
     'Updates' 
     ): 
    then_do_something() 
+0

是,做到這一點,除了使用正確的語法列表。 – Marcin

+0

是Python元組還是SQL集?因爲它不是Python列表。 – BoltClock

+1

分別將'('和')'更改爲'['和']'。 :) –

回答

12

看起來非常簡潔,但如果你使用它不止一次你更應該命名元組:

titles = ('Critical Updates', 
    'Feature Packs', 
    'Security Updates', 
    'Tools', 
    'Update Rollups', 
    'Updates') 

if MsUpdate.UpdateClassificationTitle in titles: 
    do_something_with_update(MsUpdate) 

元組使用插入語。如果你想要一個列表將它改爲方括號。或者使用一個快速查找的集合。

11

這是很簡單的:

sample = ['one', 'two', 'three', 'four'] 

if 'four' in sample: 
    print True 
2

確保您使用的是不是就是例如

username = ["Bob", "Kyle"] 

name = "Kyle" 

if name in username: 
    print("step 1") 
    login = 1 
else: 
    print("Invalid User") 
+1

嗨!歡迎來到StackOverflow。請確保您的Python代碼格式正確。目前的格式不會編譯。你可以使用編輯按鈕修改你的答案。 – rrauenza