移位去重合并两个列表方法

@keyword(“移位去重合并两个列表”)
def remove_duplicate_merge_two_list(self, list_a: list, list_b: list) -> list:
“”"
两个列表a和b,若列表b前几位和列表a后几位重复,则去除列表b重复部分后,合并到新的列表
具体方法是用循环的方式,用列表b [:(len(list_b)-i)],依次递减列表长度的新列表去对比列表a等长度末位元素组成的新列表
示例:
lista = [23,45,22,1,24]
listb = [1,24,343,55,3]
listc = [3,445,532,3455]
listd = [3,445,532,3455]
lista 和listb 有重复部分是1,24合并后生成新列表listab = [23,45,22,1,24,343,55,3]
listab 和listc 有重复部分3,去重后新列表listadc = [23,45,22,1,24,343,55,3,445,532,3455]
listadc 和 listd 有重复部分为整个列表listd,那么去重合并后并不会增加列表元素
author:tao.yu
“”"
len_b = len(list_b)
#num = 0
for i in range(len_b):
if list_b[:(len_b - i)] == list_a[-(len_b - i):]:
break
#num = len_b - i
“”“一个列表直接赋值给另一个列表,如果一个列表改变后,另一个也会跟着改变,所以不能直接赋值,而是把一个列表中的元素全部赋值另一个列表”""
list_c = list_a[:]
list_c.extend(list_b[(len_b - i):])
return list_c

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值