我知道:
if 'a' in 'cat':
win()
但有没有更好的方法来查找字符串中是否存在 两个字母?
以下是一些方法,
if 'a' in 'cat' or 'd' in 'cat':
win()
if re.search( '.*[ad].*', 'cat' ):
win()
但是有更清洁/更快/更清晰的东西吗?
像,
# not actual python code
if either ['a', 'd'] in 'cat':
win()
答案 0 :(得分:13)
您可以使用any功能:
if any(item in 'cat' for item in ['a', 'd']): # Will evaluate to True
win()
还有all功能可检查所有条件是否为真:
if all(item in 'cat' for item in ['a', 'd']): # Will evaluate to False
win()
答案 1 :(得分:6)
你可以使用套装:
if set('ab').intersection(set('cat')):
win()
答案 2 :(得分:0)
类似于selcuk的回答,只是使用带有项目的列表的真实性。
if [letter for letter in ['a','d'] if letter in 'cat']:
win()