Я мог бы поклясться, что видел функцию (или метод), которая берет список, как этот, [3, 7, 19]
и превращает его в итеративный список кортежей, например так: [(0,3), (1,7), (2,19)]
чтобы использовать его вместо:
for i in range(len(name_of_list)):
name_of_list[i] = something
но я не могу вспомнить название и гуглить "список итераций" ничего не получается.
for i in range(len(name_of_list)):
не то, что привело меня к тому, что я привел пример использования for вместо того, что было показано в первой части.Вот еще один, используя
zip
функцию.источник
enumerate()
немного более элегантно, я думаю.Вот решение с использованием функции карты:
И решение с использованием списочных представлений:
источник
enumerate
функция питона будет удовлетворять ваши требованиявывод
источник
Если у вас есть несколько списков, вы можете сделать это, комбинируя
Вывод:enumerate
иzip
:Обратите внимание, что скобки требуются после
i
. В противном случае вы получите ошибку:ValueError: need more than 2 values to unpack
источник