Python中如何合并含数字与字符串的列表(对应组合+剩余追加)
合并两个列表:对应元素拼接+剩余元素追加
给定两个列表:list1 = [1,2,3,4]list2 = ['a','b','c','d','e','f']
需要得到的结果是:list3 = ['1a','2b','3c','4d','e','f']
核心要求:把两个列表对应位置的数字转成字符串后和字符拼接,list2中没配对的剩余元素直接追加到结果末尾。
实现代码(Python)
list1 = [1,2,3,4] list2 = ['a','b','c','d','e','f'] # 处理对应位置的元素拼接 merged_part = [str(num) + char for num, char in zip(list1, list2)] # 追加list2中剩余的元素 merged_part += list2[len(list1):] print(merged_part) # 输出结果:['1a', '2b', '3c', '4d', 'e', 'f']
代码说明
zip(list1, list2)会把两个列表的对应元素配对,直到其中一个列表耗尽,这里刚好配对前4组元素。- 列表推导式里用
str(num)把数字转成字符串,再和对应字符拼接。 list2[len(list1):]是截取list2中从第len(list1)个索引开始的所有元素(也就是没和list1配对的部分),直接加到拼接好的列表后面。
如果list1的长度比list2长,那list2[len(list1):]会是空列表,结果就只有前len(list2)个拼接好的元素。
内容的提问来源于stack exchange,提问作者vanessa santiago
相关产品推荐
相关产品推荐

