我想基于给定的元组的开始和停止索引(元组的非重叠)合并列表中的元素.我将留下未提及的指数.这是我的榜样
ls = ['1', '2', '3', '4', '5', '6', '7']
merge = [(1, 3), (5, 7)]
Run Code Online (Sandbox Code Playgroud)
在这里,我想将索引从[1:3]一起合并在一起,[5:7]因此输出应该类似于以下内容
['1', '23', '4', '5', '67']
Run Code Online (Sandbox Code Playgroud)
我试图循环使用,range(len(ls))但它似乎不是解决这个问题的正确方法.如果有人有简单的方法来解决这个问题,请告诉我.
一个快速而肮脏的解决方案是:
ls = ['1', '2', '3', '4', '5', '6', '7']
merge = [(1, 3), (5, 7)]
result = []
index = 0
for start, end in merge:
result += ls[index:start]
result.append("".join(ls[start:end]))
index = end
print result # ['1', '23', '4', '5', '67']
Run Code Online (Sandbox Code Playgroud)