【发布时间】:2017-04-12 09:32:42
【问题描述】:
对于我想要的两个列表
A = [ 1,2,3,4,5]
B = [4,5,6,7]
结果 C = [1,2,3,4,5,6,7]
如果我指定重叠 2。
到目前为止的代码:
concat_list = []
word_overlap = 2
for lst in [lst1, lst2, lst3]:
if (len(concat_list) != 0):
if (concat_list[-word_overlap:] != lst[:word_overlap]):
concat_list += lst
elif ([concat_list[-word_overlap:]] == lst[:word_overlap]):
raise SystemExit
else:
concat_list += lst
为字符串列表做这件事,但应该是一样的。
编辑:
我希望我的代码做的是,首先检查是否有任何重叠(1 个、2 个等),然后连接列表,消除重叠(所以我不会得到双元素)。
[1,2,3,4,5] + [4,5,6,7] = [1,2,3,4,5,6,7]
但是
[1,2,3] + [4,5,6] = [1,2,3,4,5,6]
我希望它也检查任何小于我设置的 word_overlap 的重叠。
【问题讨论】:
-
lst1 = [ 1,2,3,4,5]lst2 = [4,5,6,7]c = lst1 + lst2print list(set(c))连接列表的简单方法
标签: python list concatenation