在Python中评估多个字符串相等的方便方法是什么?

YiF*_*Fei 3 python

我真的很难评估布尔表达式.看代码:

def f(A):
    if A=='a' or A=='b' or A=='c' ...:
        return True
    return False
Run Code Online (Sandbox Code Playgroud)

当A可以等于甚至更多的字符串时,有没有方便和优雅的方法来做到这一点?

tim*_*geb 7

如果您经常检查和/或有很多可能的值,请考虑使用集合.集合的查找时间是O(1),列表的查找时间是O(n).

if A in {'a', 'b', 'c', ...}:
    # do something
Run Code Online (Sandbox Code Playgroud)


Mad*_*ist 6

你可以做

if A in ["a", "b", "c"]:
    # do the thing
Run Code Online (Sandbox Code Playgroud)

因为你只是返回真值,你可以做到

def f(A):
    return A in ["a", "b", "c"]
Run Code Online (Sandbox Code Playgroud)

in运营商将返回一个布尔值.