检查字符串x
是否为字符串y
的子字符串的Pythonic方式是:
if x in y:
判断x
是否等于a
、b
、c
、d
、e
、f
或g
也是Pythonic的:
if x in [a,b,c,d,e,f,g]:
但检查某个字符串x
是否包含a
、b
、c
、d
、e
、f
或g
似乎很笨重:
if a in x or b in x or c in x or d in x or e in x or f in x or g in x
有没有更加符合Python风格的方法来检查字符串x
是否包含列表中的元素?
我知道使用循环或正则表达式自己编写代码很容易实现:
re.search('(dog|cat|bird|mouse|elephant|pig|cow)', x)
但我在想是否有一种更简洁的方法,不需要使用正则表达式。
if any(s in x for s in "abcdefg")
,因为字符串也是可迭代的。 - chepnerx
中任何字符是否在集合{a,...,g}
中,这不是我们想要的。 - arshajii