2024-10-03 02:32:49 发布
网友
我想知道是否有更优雅的方法来检查字符串(str='abcccbbaabccbca')是否只包含'a'、'b'或'c',而不是迭代它:
for i in str: if i in ['a','b','c']: pass else : print('wrong character')
可以将^{}与生成器表达式一起使用:
if any(c not in 'abc' for c in _str): # Don't use str as a name. print('Wrong character')
将两个字符串转换为集合并检查它们是否相等。如果是,则字符串包含a和b和{}:
a
b
valid = set(your_string) == set('abc')...
使用issubset检查它是否包含a、b、c中的任何一个:
issubset
或者
valid = set(your_string).issubset('abc')
减去集合以找出无效字符:
bad_chars = set('abcXYcba') - set('abc') # set(X,Y)
使用正则表达式:
import re if re.search('[^abc]', string): print('wrong character')
可以将^{} 与生成器表达式一起使用:
将两个字符串转换为集合并检查它们是否相等。如果是,则字符串包含}:
a
和b
和{使用
^{pr2}$issubset
检查它是否包含a、b、c中的任何一个:或者
减去集合以找出无效字符:
使用正则表达式:
相关问题 更多 >
编程相关推荐