Python列出多个迭代

时间:2016-11-05 11:22:10

标签: python iteration

如果有人想要使用多个迭代变量迭代多个列表,如果不使用内置zip()list comprehensions等函数的python,它将如何完成?允许一些基本功能,如len。

我尝试使用此代码进行此操作:

list1 = [1,2,3]
list2 = [4,5,6]
list3 = []

def function():
    for i,y in (list1, list2):
        total = i * y
        list3.append(total)
    return list3
print(function())

但是我收到了错误

  

" ValueError:解包的数量太多(预期为2)"。

我正在尝试获取一个新列表,它将第一个元素与另一个列表中的第一个元素相乘,依此类推。

1 个答案:

答案 0 :(得分:1)

如果您的两个数组是equal by size。以下答案是对的

    list1 = [2,2,2]
    list2 = [3,3,3]

    def function():
        for i in range(len(list1)):
            print(list1[i]*list2[i])
    print(function())

但最佳做法是使用zip方法

for i, j in zip(list1, list2):
    print(i * j)