问题描述
我是python的新手,所以很抱歉,这是一个愚蠢的问题.
I'm new to python so apologies if its a silly question.
我有两个列表
L1=['marvel','audi','mercedez','honda']
和
I have two lists
L1=['marvel','audi','mercedez','honda']
and
L2=['marvel comics','bmw','mercedez benz','audi']
.
我想提取包含在list L2
中与list L1
匹配的匹配元素.所以我做了什么:
I want to extract matching elements which contains in list L2
matched with list L1
. So what I done :
for i in L1:
for j in L2:
if j in i:
print (j)
output is ['audi']
但是,如果元素也包含任何单词匹配,例如mercedez benz
中的mercedez
和marvel comics
中的marvel
,我也想返回元素.因此最终输出将是:
But, I also wants to return elements if its also consist any word match like mercedez
in mercedez benz
and marvel
in marvel comics
. so final output would be:
j=['audi','mercedez benz','marvel comics']
推荐答案
我认为您真正想要的是L2
的元素,其中包含L1
中的任何元素.因此,只需将if j in i
替换为if i in j
:
I think what you really want here is the elements of L2
that contain any elements in L1
. So simply replace if j in i
with if i in j
:
for i in L1:
for j in L2:
if i in j:
print (j)
这将输出:
marvel comics
audi
mercedez benz
这篇关于匹配两个列表之间的相似元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!