检查字符串是否仅由可接受的字符组成的最佳方法是什么?
您对此有何看法:
acceptableChars = ['a', 'b', ...]
all(char in acceptableChars for char in string)
检查字符串是否仅由可接受的字符组成的最佳方法是什么?
您对此有何看法:
acceptableChars = ['a', 'b', ...]
all(char in acceptableChars for char in string)
将两者都转换为集合并检查它set(string)
是acceptableChars
return set(string).issubset(set(acceptableChars))
在行动:
>>> acceptableChars = ['a', 'b', 'c']
>>> string1 = 'bacca'
>>> string2 = 'barca'
>>> set(string1)
set(['a', 'c', 'b'])
>>> set(string2)
set(['a', 'r', 'b', 'c'])
>>> set(string1).issubset(set(acceptableChars))
True
>>> set(string2).issubset(set(acceptableChars))
False
>>>
(忽略早期版本,没有充分注意。)
sorted(set(acceptable_chars_string)) == sorted(set(input_string))