logo

Hvordan iterere gjennom en liste i Python

Lister er en av de mest brukte datastrukturene i Python. Vi fortsetter å bruke lister i mange forskjellige applikasjoner, fra å løse enkle problemer til komplekse problemer. I Python erstatter lister matriser med fordeler som:

  1. Dynamisk i størrelsen
  2. Kan lagre elementer av forskjellige datatyper i en enkelt liste

Vi kan enkelt få tilgang til dataene fra lister som bestilt; i motsetning til i sett, vil dataene være uordnet. For å få tilgang til dataene kan vi bruke flere måter å iterere gjennom hvert element i en liste. Denne opplæringen dekker alle måter med eksempler.

1. Løkker

    Bruke while loop:
 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)):>

Produksjon:

Hvordan iterere gjennom en liste i Python

Forståelse:

Ved å bruke for-in fikk vi tilgang til alle i-ene, elementene i listen.

    Bruker for og rekkevidde:
 list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i]) 

Produksjon:

Hvordan iterere gjennom en liste i Python

Forståelse:

Rangefunksjonen hjelper 'for'-løkken til å iterere fra 0 til den gitte listens lengde.

nbsp

Mekanisme:

området gir - 0 ark1 [0] 3
rekkevidden gir - 1 ark1 [1] 5
rekkevidden gir - 2 ark1 [2] 7
rekkevidden gir - 3 ark1 [3] 2
rekkevidden gir - 4 ark1 [4] 4
  • Rangefunksjonen gir ikke det siste elementet spesifisert - len (liste1) = 5 er ikke gitt.

2. Bruke listeforståelse

Dette er den enkle og foreslåtte måten å iterere gjennom en liste i Python.

Kode:

 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;) 

Produksjon:

Hvordan iterere gjennom en liste i Python

Forståelse:

konverter dato til streng

Vi kan bruke for løkker inne i en listeforståelse. Vi brukte det samme for løkker vi brukte i eksemplene ovenfor, men inne i en liste på en enkelt linje. På denne måten kan vi redusere lengden på koden, og også listeforståelse er en veldig subtil og effektiv måte å sette løkker i lister.

3. Bruke enumerate():

Enumerate-funksjonen konverterer den gitte listen til en liste over tupler. Et annet viktig faktum om denne funksjonen er at den holder tellingen av gjentakelsene. Dette er en innebygd funksjon i Python.

Kode:

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

Produksjon:

Hvordan iterere gjennom en liste i Python

4. Bruke lambda-funksjon og kart():

Dette er anonyme funksjoner. Det er et funksjonskart () i Python som kan akseptere en funksjon som et argument, og det kaller opp funksjonen med hvert element i iterablen, og en ny liste med alle elementene fra iterablen vil bli returnert.

Kode:

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

Produksjon:

Hvordan iterere gjennom en liste i Python

Forståelse:

Lambda num: num er gitt som input til kartfunksjonen sammen med listen. Funksjonen vil ta hvert enkelt element i listen, godta det og deretter returnere det. Kartfunksjonen () vil sende listeelementene en etter en til lambda-funksjonen for å returnere elementene.

Hva om vi ønsker å gjenta flerdimensjonale lister?

Det er en innebygd modul i Python designet for å utføre operasjoner på flerdimensjonale lister.

1. For å bli nummen:

Sjekk om Python og pip er installert ved å åpne cmd via søk og skrive inn kommandoene:

Python -versjon

Pip --versjon

Hvis både Python og PIP er til stede i systemet vårt, er det nå på tide å installere biblioteket vårt:

2. Åpne cmd fra startmenyen

3. Skriv inn kommandoen

pip install numpy

Hvordan iterere gjennom en liste i Python

Alle bibliotekpakkene, dataene og underpakkene vil bli installert etter hverandre.

Kode:

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

Produksjon:

'abc' er i tall'
Hvordan iterere gjennom en liste i Python

Forståelse:

Vi importerte numpy-modulen. Ved å bruke arrange-metoden laget vi en matrise med 9 elementer. Vi fikk tilgang til listen ved å omforme den til 3 * 3 (rader * kolonner) ved å bruke omformingen. Ved å bruke nditer-funksjonen skrev vi ut hvert element i listen.