Python如何实现将列表中每两个相邻元素拼接合并为新元素
实现方法
完全可以实现,以下是两种常用的简洁方案:
方案1:列表推导式(最简洁)
利用列表切片步长配对元素,直接拼接:
Li = ['1', '2', '3', '4', '5', '6', '7', '8'] Li = [a + b for a, b in zip(Li[::2], Li[1::2])] print(Li) # 输出 ['12', '34', '56', '78']
说明:
Li[::2]提取列表所有偶数下标(0、2、4、6)的元素,得到['1','3','5','7']Li[1::2]提取列表所有奇数下标(1、3、5、7)的元素,得到['2','4','6','8']zip()函数将两个切片的元素按顺序一一配对,再拼接成新字符串
方案2:普通循环(逻辑更直观,适合新手理解)
Li = ['1', '2', '3', '4', '5', '6', '7', '8'] new_Li = [] # 每次步进2个下标 for i in range(0, len(Li), 2): # 拼接当前下标和下一个下标的元素 new_Li.append(Li[i] + Li[i+1]) Li = new_Li print(Li) # 输出 ['12', '34', '56', '78']
注意事项
如果你的原列表长度是奇数,上面的写法会因为取不到最后一个元素的配对值报错,你可以根据需求调整逻辑,比如单独保留最后一个无配对的元素,或者直接忽略。
内容的提问来源于stack exchange,提问作者pickle rick
相关产品推荐
相关产品推荐

