-2

检查字符串是否仅由可接受的字符组成的最佳方法是什么?

您对此有何看法:

acceptableChars = ['a', 'b', ...]

all(char in acceptableChars for char in string)
4

2 回答 2

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
>>> 

(忽略早期版本,没有充分注意。)

于 2013-11-03T23:16:36.500 回答
-1
sorted(set(acceptable_chars_string)) == sorted(set(input_string))
于 2013-11-03T23:23:03.300 回答