Python 在两个不同长度的列表之间查找所有匹配项的索引

Python 在两个不同长度的列表之间查找所有匹配项的索引,python,list,indexing,find,Python,List,Indexing,Find,我试图找到两个不同长度的列表之间所有匹配项的索引 我创建了一个列表来比较这两个列表: my_list=[“a123”、“b456”、“c234”、“a134”、“d567”、“e789”、“c278”] 匹配字符串=[“a1”,“c2”] mod_list=[i代表我的_列表中的i(如果有的话)([j代表匹配中的j])这是因为您的代码在索引中的i上迭代!您需要将其更改为x并删除x=: >>> list_idx = [i for i, x in enumerate(my_lis

我试图找到两个不同长度的列表之间所有匹配项的索引

我创建了一个列表来比较这两个列表:

my_list=[“a123”、“b456”、“c234”、“a134”、“d567”、“e789”、“c278”]
匹配字符串=[“a1”,“c2”]

mod_list=[i代表我的_列表中的i(如果有的话)([j代表匹配中的j])
这是因为您的代码在索引中的
i
上迭代!您需要将其更改为
x
并删除
x=

>>> list_idx = [i for i, x in enumerate(my_list) if x == any([j in i for j in match_str])]
                                                                   ^
将其更改为:

>>> list_idx = [i for i, x in enumerate(my_list) if any([j in x for j in match_str])]
>>> list_idx
[0, 2, 3, 6]