Skip to main content
 首页 » 编程设计

python之在 Python 中合并列表

2025年05月04日28kerrycode

我有 2 个列表:(list1, list2),我需要将这些列表合并到另一个列表,该列表按以下顺序包含 list1 和 list2:

  • listNew = [list1(i), list2(i), list1(i+1), list2(i+1), ...]

我试过这个:

listNew = list1 + list2     
for i in listNew: 
    listNew.append(i) 
    hranyNew.append(pocetHran/2+i) 

但出现错误提示:

unsupported operand type(s) for +: 'int' and 'str'

还有一个问题,我如何比较 listNew[i] 和 listNew[i+1] 与 listNew[i+2]和 listNew[i+3]?

换句话说,我需要将所有相邻对与 pair+1、2 等进行比较。 谢谢!

请您参考如下方法:

我要指出非常方便的itertools.chain() :

from itertools import chain 
 
list1 = ['1','2','3'] 
list2 = ['a','b','c'] 
 
listNew = list(chain.from_iterable(zip(list1, list2))) 
# listNew = ['1', 'a', '2', 'b', '3', 'c'] 

你也可以使用 list comprehension双循环:

listNew = [y for x in zip(list1, list2) for y in x] 
# listNew = ['1', 'a', '2', 'b', '3', 'c'] 

如果您想连接 listNew 中的成对元素,只需:

listNew_ = [x + y for x, y in zip(list1, list2)] 
# listNew_ = ['1a', '2b', '3c']