我有一个字符串A = "abcdef"
和几个字符"a"
,"f"
和"m"
。我想要一个条件来确保A
中没有一个字符出现,即
if a not in A and f not in A and m not in A:
# do something
有更好的方法吗?谢谢!
答案 0 :(得分:11)
Sets对此非常有用 - 请参阅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
更贴近您的需求?
答案 1 :(得分:0)
True in [i in 'abcdef' for i in 'afm']
给出了真实 和
True in [i in 'nopqrst' for i in 'afm']
给出错误