我有一个字符串 ,A = "abcdef"
和几个字符"a"
,"f"
和"m"
. 我想要一个条件来确保没有任何字符出现在 中A
,即
if a not in A and f not in A and m not in A:
# do something
有一个更好的方法吗?谢谢!
我有一个字符串 ,A = "abcdef"
和几个字符"a"
,"f"
和"m"
. 我想要一个条件来确保没有任何字符出现在 中A
,即
if a not in A and f not in A and m not in A:
# do something
有一个更好的方法吗?谢谢!
集合对此很有用——参见isdisjoint()
方法:
如果集合没有与其他相同的元素,则返回 True。当且仅当它们的交集是空集时,集合是不相交的。
2.6 版中的新功能。
>>> a = "abcde"
>>> b = "ace"
>>> c = "xyz"
>>> set(a).isdisjoint(set(b))
False
>>> set(a).isdisjoint(set(c))
True
评论后编辑
套还是你的朋友。如果我现在更好地关注你,你想要这个(或接近它的东西):
为了清楚起见,我们将把所有东西都设置为集合:
>>> a = set('abcde')
>>> b = set('ace')
>>> c = set('acx')
如果您的字符集中的所有字符都在字符串中,则会发生这种情况:
>>> a.intersection(b) == b
True
如果您的字符串中不存在任何这些字符,则会发生这种情况:
>>> a.intersection(c) == c
False
更接近您的需求?
True in [i in 'abcdef' for i in 'afm']
给出 True 和
True in [i in 'nopqrst' for i in 'afm']
给出错误