检查字符串是否只由可接受的字符组成的最佳方法是什么?
您对此有何看法:
acceptableChars = ['a', 'b', ...]
all(char in acceptableChars for char in string)
答案 0 :(得分:2)
将两者都转换为集合并检查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
>>>
(忽略早期版本,没有全神贯注。)
答案 1 :(得分:-1)
sorted(set(acceptable_chars_string)) == sorted(set(input_string))