如果有人想要使用多个迭代变量迭代多个列表,如果不使用内置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)"。
我正在尝试获取一个新列表,它将第一个元素与另一个列表中的第一个元素相乘,依此类推。
答案 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)