为了账号安全,请及时绑定邮箱和手机立即绑定

与另一个列表比较后保存列表中的后续项目

与另一个列表比较后保存列表中的后续项目

SMILET 2023-10-11 20:06:36
我有两个列表——其中一个是字符串列表,另一个是嵌套的字符串列表。我想在两个列表之间的交点之后保存字符串列表中的下 5 个项目。例如,这是我有的两个列表:list1 = [['this', 'is', 'the', 'common', 'part'], ['this', 'is', 'another', 'commonality']]list2 = ['this', 'is', 'the', 'common', 'part', 'and', 'i', 'am', 'saving', 'this', 'blah', 'blah', 'this', 'is', 'another', 'commonality', 'i', 'am', 'also', 'saving', 'this']期望的输出是:result = [['and', 'i', 'am', 'saving', 'this'], ['i', 'am', 'also', 'saving', 'this']]我的代码有许多不友好的嵌套条件——如果有人有一个干净的方法来实现目标,我将不胜感激!
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

你可以这样尝试:


amount_of_subsequent_items = 5

result = []

for sublist in list1:

    for i in range(len(list2)-1):

        if sublist == list2[i:i+len(sublist)]:

            result.append(list2[i+len(sublist):i+len(sublist)+amount_of_subsequent_items])

这通过在 中的任何位置list1查找sublist(of ) 的出现来迭代您的。如果发现某个事件,则包含 的下一个后续项目的列表将存储在 中。list1list2amount_of_subsequent_itemslist2result


查看完整回答
反对 回复 2023-10-11
  • 1 回答
  • 0 关注
  • 69 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信