检查变量是否在列表中

问题描述:

我对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

分别将'('和')'更改为'['和']'。 :) –

看起来非常简洁,但如果你使用它不止一次你更应该命名元组:

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

if MsUpdate.UpdateClassificationTitle in titles: 
    do_something_with_update(MsUpdate) 

元组使用插入语。如果你想要一个列表将它改为方括号。或者使用一个快速查找的集合。

这是很简单的:

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

if 'four' in sample: 
    print True 

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

username = ["Bob", "Kyle"] 

name = "Kyle" 

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

嗨!欢迎来到*。请确保您的Python代码格式正确。目前的格式不会编译。你可以使用编辑按钮修改你的答案。 – rrauenza