检查字符串A中是否没有多个字符?

时间:2012-04-19 14:12:47

标签: python

我有一个字符串A = "abcdef"和几个字符"a""f""m"。我想要一个条件来确保A中没有一个字符出现,即

if a not in A and f not in A and m not in A:
    # do something

有更好的方法吗?谢谢!

2 个答案:

答案 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']

给出错误