logo

Kako iterirati skozi seznam v Pythonu

Seznami so ena najpogosteje uporabljenih podatkovnih struktur v Pythonu. Še naprej uporabljamo sezname v številnih različnih aplikacijah, od reševanja preprostih problemov do zapletenih problemov. V Pythonu seznami nadomeščajo polja s prednostmi, kot so:

  1. Dinamična velikost
  2. Lahko shrani elemente različnih tipov podatkov na en seznam

Do podatkov lahko dostopamo preprosto z naročenih seznamov; za razliko od nizov bodo podatki neurejeni. Za dostop do podatkov lahko uporabimo več načinov za ponavljanje vsakega elementa znotraj seznama. Ta vadnica zajema vse načine s primeri.

1. Zanke

    Uporaba zanke while:
 list1 = [3, 5, 7, 2, 4] count = 0 while (count <len(list1)): 1 print (list1 [count]) count="count" + < pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python.webp" alt="How to Iterate through a List in Python"> <p> <strong>Understanding:</strong> </p> <p>We created a list with a few elements. Initially, count = 0. We&apos;re printing the element at the &apos;count&apos; index and incrementing the count in the while loop. When the count reaches the length of the list, the loop will be terminated, and all the elements will already be accessed.</p> <p> <strong>Mechanism:</strong> </p> <table class="table"> <tr> <td>count = 0</td> <td>list1 [0]</td> <td>3</td> </tr> <tr> <td>count = 1</td> <td>list1 [1]</td> <td>5</td> </tr> <tr> <td>count = 2</td> <td>list1 [2]</td> <td>7</td> </tr> <tr> <td>count = 3</td> <td>list1 [3]</td> <td>2</td> </tr> <tr> <td>count = 4</td> <td>list1 [4]</td> <td>4</td> </tr> <tr> <td>count = 5 = len (list1)</td> <td>-</td> <td>-</td> </tr> </table> <ul> <tr><td>Using for loop:</td>  </tr></ul> <pre> list1 = [3, 5, 7, 2, 4] for i in list1: print (i) </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python-2.webp" alt="How to Iterate through a List in Python"> <p> <strong>Understanding:</strong> </p> <p>Using for-in, we accessed all the i&apos;s, the elements inside the list.</p> <ul> <tr><td>Using for and range:</td>  </tr></ul> <pre> list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i]) </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python-3.webp" alt="How to Iterate through a List in Python"> <p> <strong>Understanding:</strong> </p> <p>The range function helps the &apos;for&apos; loop to iterate from 0 to the given list&apos;s length.</p> <p> <strong>Mechanism:</strong> </p> <table class="table"> <tr> <td>the range gives - 0</td> <td>list1 [0]</td> <td>3</td> </tr> <tr> <td>the range gives - 1</td> <td>list1 [1]</td> <td>5</td> </tr> <tr> <td>the range gives - 2</td> <td>list1 [2]</td> <td>7</td> </tr> <tr> <td>the range gives - 3</td> <td>list1 [3]</td> <td>2</td> </tr> <tr> <td>the range gives - 4</td> <td>list1 [4]</td> <td>4</td> </tr> </table> <ul> <li>The range function doesn&apos;t give the last element specified - len (list1) = 5 is not given.</li> </ul> <h2>2. Using List Comprehension</h2> <p>This is the simple and suggested way to iterate through a list in Python.</p> <p> <strong>Code:</strong> </p> <pre> list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (&apos;
&apos;) [print (list1 [i]) for i in range (0, len (list1))] print (&apos;
&apos;) </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python-4.webp" alt="How to Iterate through a List in Python"> <p> <strong>Understanding:</strong> </p> <p>We can use for loops inside a list comprehension. We used the same for loops we used in the above examples but inside a list in a single line. This way, we can reduce the length of the code and also list comprehension is a very subtle and efficient way to put loops in lists.</p> <h2>3. Using enumerate():</h2> <p>The enumerate function converts the given list into a list of tuples. Another important fact about this function is that it keeps count of the iterations. This is a built-in function in Python.</p> <p> <strong>Code:</strong> </p> <pre> list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print (&apos;index = &apos;, i, &apos;value: &apos;, j) </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python-5.webp" alt="How to Iterate through a List in Python"> <h2>4. Using lambda function and map():</h2> <p>These are anonymous functions. There is a function map () in Python that can accept a function as an argument, and it calls the function with every element in the iterable, and a new list with all the elements from the iterable will be returned.</p> <p> <strong>Code:</strong> </p> <pre> list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result) </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python-6.webp" alt="How to Iterate through a List in Python"> <p> <strong>Understanding:</strong> </p> <p>The lambda num: num is given as an input to the map function along with the list. The function will take every single element in the list, accept it, and then return it. The map () function will pass the list elements one by one to the lambda function to return the elements.</p> <h2>What if we want to Iterate Multi-dimensional Lists?</h2> <p>There is an inbuilt module in Python designed to perform operations on multi-dimensional lists.</p> <p> <strong>1. To get numpy:</strong> </p> <p>Check if Python and pip are installed by opening the cmd via search and typing the commands:</p> <p> <strong>Python -version</strong> </p> <p> <strong>Pip --version</strong> </p> <p>If both Python and PIP are present in our system, it is now time to install our library:</p> <p> <strong>2. Open cmd from the start menu</strong> </p> <p> <strong>3. Type the command</strong> </p> <h3>pip install numpy</h3> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python.webp" alt="How to Iterate through a List in Python"> <p>All the library packages, data, and sub-packages will be installed one after the other.</p> <p> <strong>Code:</strong> </p> <pre> import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x) </pre> <p> <strong>Output:</strong> </p> <img src="//techcodeview.com/img/python-tutorial/43/how-iterate-through-list-python-7.webp" alt="How to Iterate through a List in Python"> <p> <strong>Understanding:</strong> </p> <p>We imported the numpy module. Using the arrange method, we created an array with 9 elements. We accessed the list by reshaping it to 3 * 3 (rows * columns) using the reshape. Using the nditer function, we printed each element in the list.</p> <hr></len(list1)):>

Izhod:

Kako iterirati skozi seznam v Pythonu

Razumevanje:

Z uporabo for-in smo dostopali do vseh i-jev, elementov znotraj seznama.

    Uporaba za in obseg:
 list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i]) 

Izhod:

Kako iterirati skozi seznam v Pythonu

Razumevanje:

Funkcija obsega pomaga zanki 'za' ponoviti od 0 do dane dolžine seznama.

dfs proti bfs

Mehanizem:

razpon daje - 0 list1 [0] 3
razpon daje - 1 list1 [1] 5
razpon daje - 2 list1 [2] 7
razpon daje - 3 list1 [3] 2
razpon daje - 4 list1 [4] 4
  • Funkcija obsega ne poda zadnjega navedenega elementa - len (seznam1) = 5 ni podan.

2. Uporaba seznamskega razumevanja

To je preprost in predlagan način za ponavljanje seznama v Pythonu.

Koda:

 list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (&apos;
&apos;) [print (list1 [i]) for i in range (0, len (list1))] print (&apos;
&apos;) 

Izhod:

Kako iterirati skozi seznam v Pythonu

Razumevanje:

kaj je struktura v strukturi podatkov

Znotraj razumevanja seznama lahko uporabimo zanke for. Uporabili smo enake zanke for kot v zgornjih primerih, vendar znotraj seznama v eni vrstici. Na ta način lahko zmanjšamo dolžino kode, poleg tega pa je razumevanje seznamov zelo subtilen in učinkovit način za vstavljanje zank v sezname.

3. Uporaba enumerate():

Funkcija enumerate pretvori dani seznam v seznam tulp. Drugo pomembno dejstvo o tej funkciji je, da vodi štetje ponovitev. To je vgrajena funkcija v Python.

Koda:

 list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print (&apos;index = &apos;, i, &apos;value: &apos;, j) 

Izhod:

Kako iterirati skozi seznam v Pythonu

4. Uporaba funkcije lambda in map():

To so anonimne funkcije. V Pythonu obstaja preslikava funkcij (), ki lahko sprejme funkcijo kot argument in pokliče funkcijo z vsakim elementom v iterabli, vrnjen pa bo nov seznam z vsemi elementi iz iterable.

Koda:

 list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result) 

Izhod:

Kako iterirati skozi seznam v Pythonu

Razumevanje:

Lambda num: num je podana kot vhod v funkcijo zemljevida skupaj s seznamom. Funkcija bo prevzela vsak posamezen element na seznamu, ga sprejela in nato vrnila. Funkcija map () bo elemente seznama enega za drugim posredovala funkciji lambda, da vrne elemente.

Kaj pa, če želimo ponoviti večdimenzionalne sezname?

V Pythonu je vgrajen modul, zasnovan za izvajanje operacij na večdimenzionalnih seznamih.

1. Če želite pridobiti numpy:

java spremenljivka spremenljivka

Preverite, ali sta Python in pip nameščena tako, da odprete cmd z iskanjem in vnesete ukaze:

Različica Python

Pip --različica

Če sta Python in PIP prisotna v našem sistemu, je čas, da namestite našo knjižnico:

2. V začetnem meniju odprite cmd

3. Vnesite ukaz

pip namestite numpy

Kako iterirati skozi seznam v Pythonu

Vsi knjižnični paketi, podatki in podpaketi bodo nameščeni drug za drugim.

Koda:

 import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x) 

Izhod:

Kako iterirati skozi seznam v Pythonu

Razumevanje:

Uvozili smo modul numpy. Z metodo aranžiranja smo ustvarili polje z 9 elementi. Do seznama smo dostopali tako, da smo ga s preoblikovanjem preoblikovali v 3 * 3 (vrstice * stolpci). S funkcijo nditer smo natisnili vsak element na seznamu.