我有 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']
