Popisi su jedna od najčešće korištenih struktura podataka u Pythonu. Nastavljamo koristiti popise u mnogim različitim aplikacijama, od rješavanja jednostavnih problema do složenih problema. U Pythonu popisi zamjenjuju nizove s prednostima poput:
- Dinamična veličina
- Može pohraniti stavke različitih tipova podataka na jednom popisu
Podacima možemo pristupiti jednostavno s popisa prema narudžbi; za razliku od skupova, podaci će biti nesređeni. Za pristup podacima, možemo koristiti nekoliko načina za ponavljanje kroz svaki element unutar popisa. Ovaj vodič pokriva sve načine s primjerima.
1. Petlje
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)):>
Izlaz:
Razumijevanje:
Koristeći for-in pristupili smo svim 'i', elementima unutar popisa.
list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i])
Izlaz:
Razumijevanje:
Funkcija raspona pomaže petlji 'for' da ponavlja od 0 do duljine zadane liste.
gridlayout
Mehanizam:
raspon daje - 0 | list1 [0] | 3 |
raspon daje - 1 | list1 [1] | 5 |
raspon daje - 2 | list1 [2] | 7 |
raspon daje - 3 | list1 [3] | 2 |
raspon daje - 4 | list1 [4] | 4 |
- Funkcija raspona ne daje zadnji navedeni element - len (list1) = 5 nije dan.
2. Korištenje razumijevanja popisa
Ovo je jednostavan i predložen način za ponavljanje kroz popis u Pythonu.
Kodirati:
list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (' ') [print (list1 [i]) for i in range (0, len (list1))] print (' ')
Izlaz:
Razumijevanje:
što je modulo u c++
Možemo koristiti for petlje unutar razumijevanja popisa. Koristili smo iste for petlje koje smo koristili u gornjim primjerima, ali unutar popisa u jednom retku. Na ovaj način možemo smanjiti duljinu koda, a također je razumijevanje popisa vrlo suptilan i učinkovit način stavljanja petlji u popise.
3. Korištenje enumerate():
Funkcija enumerate pretvara navedeni popis u popis torki. Još jedna važna činjenica o ovoj funkciji je da ona broji ponavljanja. Ovo je funkcija ugrađena u Python.
Kodirati:
list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print ('index = ', i, 'value: ', j)
Izlaz:
4. Korištenje lambda funkcije i map():
Ovo su anonimne funkcije. Postoji mapa funkcije () u Pythonu koja može prihvatiti funkciju kao argument, i poziva funkciju sa svakim elementom u iterablu, a vratit će se novi popis sa svim elementima iz iterabla.
Kodirati:
list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result)
Izlaz:
Razumijevanje:
Lambda num: num daje se kao ulaz u funkciju karte zajedno s popisom. Funkcija će uzeti svaki pojedini element na popisu, prihvatiti ga i zatim vratiti. Funkcija map () će proslijediti elemente popisa jedan po jedan lambda funkciji da vrati elemente.
Što ako želimo ponavljati višedimenzionalne popise?
U Pythonu postoji ugrađeni modul dizajniran za izvođenje operacija na višedimenzionalnim popisima.
1. Da dobijete numpy:
Provjerite jesu li Python i pip instalirani tako da otvorite cmd pretraživanjem i upišete naredbe:
Python verzija
Pip --verzija
Ako su i Python i PIP prisutni u našem sustavu, sada je vrijeme za instaliranje naše biblioteke:
2. Otvorite cmd iz izbornika Start
3. Upišite naredbu
pip instaliraj numpy
Svi paketi knjižnice, podaci i pod-paketi bit će instalirani jedan za drugim.
Kodirati:
abecedni brojevi
import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x)
Izlaz:
Razumijevanje:
Uvezli smo modul numpy. Metodom aranžiranja napravili smo niz od 9 elemenata. Popisu smo pristupili preoblikovanjem u 3 * 3 (redci * stupci) pomoću preoblikovanja. Pomoću funkcije nditer ispisali smo svaki element na popisu.