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”,因为这两个单词包含o
,t
,i
。上面的代码将打印列表中的所有内容。不能使用find(),因为没有匹配项。
使用匹配将是一个不错的选择吗?我可以在这里使用一些提示。预先感谢。
答案 0 :(得分:0)
使用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
>>>