Python 如何将一个列表中的元素按另一个列表中的元素的顺序拆分

Python 如何将一个列表中的元素按另一个列表中的元素的顺序拆分,python,Python,大概是这样的: equation=list_1[0]+list_2[0]+list_1[1]+list_2[1]+list_1[2]+list_2[2]+list_1[3] 但是我怎样才能使它更一般化呢?这只有在我知道每个列表中元素的数量时才会起作用。循环查看zip(列表1,列表2)的结果。: 如果列表的长度不同,可以在后面附加额外的元素: if len(list_1) > len(list_2): equation += sum([str(i) for i in list_1[

大概是这样的:

equation=list_1[0]+list_2[0]+list_1[1]+list_2[1]+list_1[2]+list_2[2]+list_1[3]

但是我怎样才能使它更一般化呢?这只有在我知道每个列表中元素的数量时才会起作用。

循环查看
zip(列表1,列表2)的结果。

如果列表的长度不同,可以在后面附加额外的元素:

if len(list_1) > len(list_2):
    equation += sum([str(i) for i in list_1[len(list_2):]])
elif len(list_2) > len(list_1):
    equation += sum([str(i) for i in list_2[len(list_1):]])

也许
sum(list_1)+sum(list_2)
?@Aziz他正在交替列表的元素。列表中是什么类型的数据?数字?串?列表?因为顺序很重要,我猜它们是要连接的字符串,而不是要添加的数字。这将计算公式,不是吗?我想要的是,如果我有list_1=[1,2,3,4]和list_2=[+,+,-],那么方程应该是1+2+3-4,但不实际计算方程。第二个列表总是比第一个列表少一个。不确定这是否是你从我的问题中理解的。为什么它会评估任何东西?它只是串接字符串。你不能写
list_2=[+,+,-]
你必须引用它们
list_2=['+','+','-']
if len(list_1) > len(list_2):
    equation += sum([str(i) for i in list_1[len(list_2):]])
elif len(list_2) > len(list_1):
    equation += sum([str(i) for i in list_2[len(list_1):]])