检查字符串列表是否包含另一个字符串的所有字符

2024-03-28 12:43:25 发布

您现在位置:Python中文网/ 问答频道 /正文

S = ['cat','tor','tutorial','item','aba','tori']  
T = "oti"


for item in S:
    for i in item:
        if i in T:
            print(item)

我想得到'tori'和'tutorial',因为这两个词包含oti。上面的代码将打印列表中的所有内容。使用find()不是一个选项,因为没有匹配项。你知道吗

在这里使用match是一个好的选择吗?我需要一些提示。提前谢谢。你知道吗


Tags: 代码in内容列表foriffinditem
1条回答
网友
1楼 · 发布于 2024-03-28 12:43:25

使用sets进行成员资格测试。你知道吗

>>> 
>>> T = 'oti'
>>> S = ['cat','tor','tutorial','item','aba','tori']
>>> t = set(T)
>>> t
{'o', 't', 'i'}
>>> for thing in S:
...     if t.issubset(thing):
            print(thing)


tutorial
tori
>>> 

如果有重复的字符,这将不起作用。你知道吗

>>> q = set('otti')
>>> for thing in S:
...     if q.issubset(thing):
            print(thing)


tutorial
tori
>>>

使用all

>>> 
>>> for thing in S:
...     if all(c in thing for c in T):
            print(thing)


tutorial
tori
>>> 

相关问题 更多 >