Merge elements in list based on given indices

后端 未结 3 539
名媛妹妹
名媛妹妹 2021-01-14 12:30

I want to merge element in the list based on given start and stop index of tuple (non-overlap for tuple). I\'ll leave the indices that don\'t mention as it is. This is my ex

3条回答
  •  野趣味
    野趣味 (楼主)
    2021-01-14 13:14

    Short "trick" with reversed merge list:

    ls = ['1', '2', '3', '4', '5', '6', '7']
    merge = [(1, 3), (5, 7)]
    
    for t in merge[::-1]:
        merged = ''.join(ls[t[0]:t[1]])  # merging values within a range
        ls[t[0]:t[1]] = [merged]         # slice replacement
    
    print(ls)
    

    The output:

    ['1', '23', '4', '5', '67']
    

提交回复
热议问题