@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
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交