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

2024-09-30 08:24:18 发布

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

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

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

my_list = ["a123", "b456", "c234", "a134", "d567", "e789", "c278"] match_str = ["a1", "c2"] mod_list = [i for i in my_list if any([j in i for j in match_str])]

其中输出
mod_list=['a123'、'c234'、'a134'、'c278']

但是,当我试图使用this enumerate method来获取相应的索引时,我得到一条错误消息:

TypeError:“int”类型的参数不可读取

我不知道是什么造成了这个错误。在

我是正确地处理这个问题,还是有更好的方法?(我希望不使用循环来执行此操作)


Tags: inmod列表formymatch错误list
1条回答
网友
1楼 · 发布于 2024-09-30 08:24:18

这是因为您的代码在索引i上迭代!您需要将其更改为x并删除{}:

>>> list_idx = [i for i, x in enumerate(my_list) if x == any([j in i for j in match_str])]
                                                                   ^

更改为:

^{pr2}$

相关问题 更多 >

    热门问题