Saraksti ir viena no Python visbiežāk izmantotajām datu struktūrām. Mēs turpinām izmantot sarakstus daudzās dažādās lietojumprogrammās, sākot no vienkāršu problēmu risināšanas līdz sarežģītām problēmām. Programmā Python saraksti aizstāj masīvus ar tādām priekšrocībām kā:
- Dinamiska izmēra
- Var saglabāt dažādu datu tipu vienumus vienā sarakstā
Mēs varam piekļūt datiem vienkārši no sarakstiem pēc pasūtījuma; atšķirībā no komplektiem, dati būs nesakārtoti. Lai piekļūtu datiem, mēs varam izmantot vairākus veidus, kā atkārtot katru saraksta elementu. Šajā apmācībā ir aprakstīti visi veidi ar piemēriem.
1. Cilpas
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)):>
Izvade:
Saprašana:
Izmantojot for-in, mēs piekļuvām visiem i, saraksta elementiem.
list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i])
Izvade:
Saprašana:
Diapazona funkcija palīdz cilpai “for” atkārtot no 0 līdz norādītajam saraksta garumam.
cietajos vākos pret mīkstajiem vākiem
Mehānisms:
diapazons dod - 0 | lapa 1 [0] | 3 |
diapazons dod - 1 | lapa 1 [1] | 5 |
diapazons dod - 2 | lapa 1 [2] | 7 |
diapazons dod - 3 | lapa1 [3] | 2 |
diapazons dod - 4 | lapa 1 [4] | 4 |
- Diapazona funkcija nedod pēdējo norādīto elementu - len (list1) = 5 nav norādīts.
2. Saraksta izpratnes izmantošana
Šis ir vienkāršs un ieteiktais veids, kā atkārtot sarakstu Python.
Kods:
list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (' ') [print (list1 [i]) for i in range (0, len (list1))] print (' ')
Izvade:
Saprašana:
csma un csma cd
Mēs varam izmantot cilpas saraksta izpratnē. Mēs izmantojām to pašu cilpām, ko izmantojām iepriekš minētajos piemēros, bet sarakstā vienā rindā. Tādā veidā mēs varam samazināt koda garumu, kā arī saraksta izpratne ir ļoti smalks un efektīvs veids, kā sarakstos ievietot cilpas.
3. Izmantojot enumerate():
Uzskaitīšanas funkcija pārvērš doto sarakstu par korešu sarakstu. Vēl viens svarīgs fakts par šo funkciju ir tas, ka tā uztur atkārtojumu skaitu. Šī ir Python iebūvēta funkcija.
Kods:
list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print ('index = ', i, 'value: ', j)
Izvade:
4. Izmantojot lambda funkciju un karti ():
Tās ir anonīmas funkcijas. Programmā Python ir funkciju karte (), kas var pieņemt funkciju kā argumentu, un tā izsauc funkciju ar katru iterējamā elementu, un tiks atgriezts jauns saraksts ar visiem iterable elementiem.
Kods:
list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result)
Izvade:
Saprašana:
Lambda skaitlis: num tiek dots kā ievade kartes funkcijai kopā ar sarakstu. Funkcija ņems katru atsevišķo elementu sarakstā, pieņems to un pēc tam atgriezīs to. Kartes () funkcija nodos saraksta elementus pa vienam lambda funkcijai, lai atgrieztu elementus.
Ko darīt, ja mēs vēlamies atkārtot daudzdimensiju sarakstus?
Python ir iebūvēts modulis, kas paredzēts darbību veikšanai ar daudzdimensiju sarakstiem.
1. Lai kļūtu nejutīgs:
Pārbaudiet, vai Python un pip ir instalēti, atverot cmd, izmantojot meklēšanu, un ierakstot komandas:
Python versija
Pip — versija
Ja mūsu sistēmā ir gan Python, gan PIP, tagad ir laiks instalēt mūsu bibliotēku:
2. Sākt izvēlnē atveriet cmd
mīlošs krikets
3. Ierakstiet komandu
pip install numpy
Visas bibliotēkas pakotnes, dati un apakšpaketes tiks instalētas viena pēc otras.
Kods:
import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x)
Izvade:
Saprašana:
Mēs importējām numpy moduli. Izmantojot sakārtošanas metodi, mēs izveidojām masīvu ar 9 elementiem. Mēs piekļuvām sarakstam, pārveidojot to uz 3 * 3 (rindas * kolonnas), izmantojot pārveidojumu. Izmantojot nditer funkciju, mēs izdrukājām katru elementu sarakstā.