Если кто-то хочет перебирать несколько списков с несколькими переменными итерации, как это сделать без использования встроенных функций python, таких как zip()
, или list comprehensions
? Некоторые основные функции разрешены как len.Python List Multiple Iterations
Я попытался сделать эту работу с этим кодом:
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: too many values to unpack (expected 2)".
Я пытаюсь получить новый список, который будет умножаться на 1-й элемент с 1-го элемент в другом списке и т. д.
Почему вы не хотите использовать функции, обеспечиваемые? Вы рассматривали использование индекса вместо этого ('return list1 [i] * list2 [i] * list3 [i]')? – jonrsharpe
Есть ли причина не использовать 'zip()'? Вы можете использовать 'for lst in (list1, list2, list3)'. – Jan
Используйте 'zip'; это (одна из причин), для чего она есть. – Evert