Les llistes són una de les estructures de dades més utilitzades a Python. Seguim utilitzant llistes en moltes aplicacions diferents, des de la resolució de problemes senzills fins a problemes complexos. A Python, les llistes substitueixen les matrius amb avantatges com:
- Dinàmica de mida
- Pot emmagatzemar elements de diferents tipus de dades en una única llista
Podem accedir a les dades simplement des de les llistes segons les ordenacions; a diferència dels conjunts, les dades no estaran ordenades. Per accedir a les dades, podem utilitzar diverses maneres d'iterar per cada element dins d'una llista. Aquest tutorial cobreix totes les maneres amb exemples.
1. Bucles
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're printing the element at the 'count' 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'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 'for' loop to iterate from 0 to the given list'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'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 (' ') [print (list1 [i]) for i in range (0, len (list1))] print (' ') </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 ('index = ', i, 'value: ', 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)):>
Sortida:
Comprensió:
Amb for-in, vam accedir a totes les i, els elements dins de la llista.
list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i])
Sortida:
Comprensió:
La funció de rang ajuda el bucle 'for' a iterar des de 0 fins a la longitud de la llista donada.
marc de col·lecció java
Mecanisme:
el rang dóna - 0 | full 1 [0] | 3 |
el rang dóna - 1 | full 1 [1] | 5 |
el rang dóna - 2 | full 1 [2] | 7 |
el rang dóna - 3 | full 1 [3] | 2 |
el rang dóna - 4 | full 1 [4] | 4 |
- La funció d'interval no dóna l'últim element especificat: no es dóna len (list1) = 5.
2. Ús de la comprensió de llistes
Aquesta és la manera senzilla i suggerida d'iterar una llista en Python.
Codi:
list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (' ') [print (list1 [i]) for i in range (0, len (list1))] print (' ')
Sortida:
Comprensió:
repl en java
Podem utilitzar bucles for dins d'una llista de comprensió. Hem utilitzat el mateix per als bucles que hem utilitzat als exemples anteriors, però dins d'una llista en una sola línia. D'aquesta manera, podem reduir la longitud del codi i també la comprensió de llistes és una manera molt subtil i eficient de posar bucles a les llistes.
3. Utilitzant enumerate():
La funció enumerate converteix la llista donada en una llista de tuples. Un altre fet important sobre aquesta funció és que manté el recompte de les iteracions. Aquesta és una funció integrada a Python.
Codi:
list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print ('index = ', i, 'value: ', j)
Sortida:
4. Utilitzant la funció lambda i map():
Aquestes són funcions anònimes. Hi ha un mapa de funcions () a Python que pot acceptar una funció com a argument, i crida a la funció amb tots els elements de l'iterable, i es retornarà una llista nova amb tots els elements de l'iterable.
Codi:
list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result)
Sortida:
Comprensió:
El lambda num: num es dóna com a entrada a la funció de mapa juntament amb la llista. La funció agafarà tots els elements de la llista, l'acceptarà i després el retornarà. La funció map () passarà els elements de la llista un per un a la funció lambda per retornar els elements.
Què passa si volem iterar llistes multidimensionals?
Hi ha un mòdul integrat a Python dissenyat per realitzar operacions en llistes multidimensionals.
java convertir int en cadena
1. Per posar-se numpy:
Comproveu si Python i pip estan instal·lats obrint el cmd mitjançant la cerca i escrivint les ordres:
Versió Python
Pip --versió
Si tant Python com PIP estan presents al nostre sistema, ara és el moment d'instal·lar la nostra biblioteca:
2. Obriu cmd des del menú d'inici
3. Escriviu l'ordre
pip install numpy
Tots els paquets de biblioteques, dades i subpaquets s'instal·laran un darrere l'altre.
Codi:
import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x)
Sortida:
Comprensió:
Hem importat el mòdul numpy. Utilitzant el mètode arrange, vam crear una matriu amb 9 elements. Vam accedir a la llista modificant-la a 3 * 3 (files * columnes) mitjançant la remodelació. Utilitzant la funció nditer, vam imprimir cada element de la llista.