2011-10-10 21 views
6

Jestem całkiem nowy w Pythonie, i zastanawiałem się, czy istnieje zwięzły sposób testowania wartości, aby zobaczyć, czy jest to jedna z wartości na liście, podobnie do SQL WHERE klauzula. Przepraszam, jeśli to podstawowe pytanie.Sprawdź zmienną, jeśli znajduje się na liście

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

tj chcę napisać:

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

Tak, to zrobić, z wyjątkiem używać poprawnej składni dla list. – Marcin

+0

Czy to jest krotka Python lub zestaw SQL? Ponieważ nie jest to lista Pythona. – BoltClock

+1

Zmień odpowiednio "(" i ")" na "[" i "]". :) –

Odpowiedz

12

wydaje się dość zwięzłe, ale jeśli używasz więcej niż raz was powinien nazwać krotki:

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

if MsUpdate.UpdateClassificationTitle in titles: 
    do_something_with_update(MsUpdate) 

Krotki użytkowania nawias. Jeśli chcesz, aby lista została zmieniona na nawiasy kwadratowe. Lub użyj zestawu, który ma szybsze wyszukiwania.

11

Jest to dość prosta:

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

if 'four' in sample: 
    print True 
2

Upewnij się, że używasz w nie jest dla przykładu

username = ["Bob", "Kyle"] 

name = "Kyle" 

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

Cześć! Witamy w StackOverflow. Upewnij się, że twój kod Pythona jest poprawnie sformatowany. Bieżące formatowanie nie zostanie skompilowane. Możesz użyć przycisku 'edit', aby zmodyfikować swoją odpowiedź. – rrauenza

Powiązane problemy