我有2个列表:(列表1,列表2),我需要将这些列表合并到另一个包含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)
但出现错误:
+不支持的操作数类型:“ int”和“ 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']