Skip to main content
 首页 » 编程设计

python之如何判断 Python 中集合的任何元素中是否存在字符串模式

2025年05月04日29Free-Thinker

我如何询问字符串模式(在本例中为 C)是否存在于该集合的任何元素中,而无需逐一删除它们并查看它们?

这个测试失败了,我不知道为什么。我的猜测是 Python 正在检查集合中是否有任何元素是 C,而不是检查是否有任何元素包含 C:

n [1]: seto = set() 
 
In [2]: seto.add('C123.45.32') 
 
In [3]: seto.add('C2345.345.32') 
 
In [4]: 'C' in seto 
Out[4]: False 

我知道我可以迭代它们以进行此检查:

In [11]: for x in seto: 
    if 'C' in x: 
        print(x) 
   ....:          
C2345.345.32 
C123.45.32 

但这不是我在这种情况下想要做的。好的,感谢您的帮助!

编辑

对不起,这些是集合操作,不是我原帖暗示的列表。

请您参考如下方法:

'C' in seto 

这会检查 seto 的任何成员是否是确切的字符串 'S'。不是子字符串,而是那个字符串。要检查子字符串,您需要遍历集合并对每个项目执行检查。

any('C' in item for item in seto) 

测试的确切性质可以很容易地改变。例如,如果您想对 C 的出现位置进行更严格的限制:

any(item.startswith('C') for item in seto)