检查变量是否在列表中

时间:2011-10-10 13:44:13

标签: python

我是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()

3 个答案:

答案 0 :(得分:13)

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

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

if MsUpdate.UpdateClassificationTitle in titles:  
    do_something_with_update(MsUpdate)

元组使用括号。如果您想要一个列表,请将其更改为方括号。或者使用一个具有更快查找速度的集合。

答案 1 :(得分:11)

这很简单:

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

if 'four' in sample:
   print True

答案 2 :(得分:2)

确保您使用的不是例如

username = ["Bob", "Kyle"]

name = "Kyle"

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