Mógłbym przysiąc, że widziałem funkcję (lub metodę), która pobiera taką listę [3, 7, 19]
i przekształca ją w iterowalną listę krotek, taką jak: [(0,3), (1,7), (2,19)]
użyć jej zamiast:
for i in range(len(name_of_list)):
name_of_list[i] = something
ale nie pamiętam nazwy i Google „lista iteracyjna” nic nie dostaje.
for i in range(len(name_of_list)):
co skłoniło mnie do podania przykładu za pomocą zamiast zamiast tego, co pokazano w pierwszej części.Oto kolejna
zip
funkcja.źródło
enumerate()
myślę, że jest nieco bardziej elegancki.Oto rozwiązanie wykorzystujące funkcję mapy:
I rozwiązanie wykorzystujące listy:
źródło
enumerate
funkcja python spełni twoje wymaganiawynik
źródło
Jeśli masz wiele list, możesz to zrobić, łącząc
Wynik:enumerate
izip
:Zauważ, że po nawiasie wymagany jest
i
. W przeciwnym razie pojawia się błąd:ValueError: need more than 2 values to unpack
źródło