Listor är en av de mest använda datastrukturerna i Python. Vi fortsätter att använda listor i många olika applikationer, från att lösa enkla problem till komplexa problem. I Python ersätter listor arrayer med fördelar som:
- Dynamisk i storleken
- Kan lagra objekt av olika datatyper i en enda lista
Vi kan enkelt komma åt data från listor som beställts; till skillnad från i uppsättningar kommer data att vara oordnade. För att komma åt data kan vi använda flera sätt att iterera genom varje element i en lista. Denna handledning täcker alla sätt med exempel.
1. Slingor
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)):>
Produktion:
Förståelse:
Genom att använda for-in fick vi tillgång till alla i:n, elementen i listan.
list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i])
Produktion:
Förståelse:
Range-funktionen hjälper 'för'-loopen att iterera från 0 till den givna listans längd.
en rad objekt java
Mekanism:
intervallet ger -0 | ark1 [0] | 3 |
intervallet ger - 1 | ark1 [1] | 5 |
intervallet ger - 2 | ark1 [2] | 7 |
intervallet ger - 3 | ark1 [3] | 2 |
intervallet ger - 4 | ark1 [4] | 4 |
- Range-funktionen ger inte det senast angivna elementet - len (list1) = 5 anges inte.
2. Använda listförståelse
Detta är det enkla och föreslagna sättet att iterera genom en lista i Python.
Koda:
list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (' ') [print (list1 [i]) for i in range (0, len (list1))] print (' ')
Produktion:
Förståelse:
csma och csma cd
Vi kan använda för loopar inuti en lista förståelse. Vi använde samma sak för slingor som vi använde i exemplen ovan men inuti en lista på en enda rad. På så sätt kan vi minska längden på koden och även listförståelse är ett mycket subtilt och effektivt sätt att lägga loopar i listor.
3. Använd enumerate():
Enumerate-funktionen omvandlar den givna listan till en lista med tupler. Ett annat viktigt faktum med denna funktion är att den håller räkningen av iterationerna. Detta är en inbyggd funktion i Python.
Koda:
list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print ('index = ', i, 'value: ', j)
Produktion:
4. Använda lambda-funktionen och map():
Dessa är anonyma funktioner. Det finns en funktionskarta () i Python som kan acceptera en funktion som ett argument, och den anropar funktionen med varje element i iterablen, och en ny lista med alla element från iterablen kommer att returneras.
Koda:
list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result)
Produktion:
Förståelse:
Lambda num: num ges som en ingång till kartfunktionen tillsammans med listan. Funktionen tar varje enskilt element i listan, accepterar det och returnerar det sedan. Map ()-funktionen skickar listelementen ett efter ett till lambdafunktionen för att returnera elementen.
Vad händer om vi vill upprepa flerdimensionella listor?
Det finns en inbyggd modul i Python designad för att utföra operationer på flerdimensionella listor.
123 film
1. Så här blir du klockren:
Kontrollera om Python och pip är installerade genom att öppna cmd via sök och skriva kommandona:
Python -version
Pip --version
Om både Python och PIP finns i vårt system är det nu dags att installera vårt bibliotek:
2. Öppna cmd från startmenyn
3. Skriv kommandot
pip installera numpy
Alla bibliotekspaket, data och underpaket kommer att installeras efter varandra.
Koda:
import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x)
Produktion:
Förståelse:
Vi importerade numpy-modulen. Med hjälp av arrangemanget skapade vi en array med 9 element. Vi fick tillgång till listan genom att omforma den till 3 * 3 (rader * kolumner) med hjälp av omformningen. Med hjälp av nditer-funktionen skrev vi ut varje element i listan.