字符串仅由可接受的字符组成

时间:2013-11-03 23:06:01

标签: python

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

您对此有何看法:

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

all(char in acceptableChars for char in string)

2 个答案:

答案 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))