Zoznamy sú jednou z najpoužívanejších dátových štruktúr v Pythone. Zoznamy stále používame v mnohých rôznych aplikáciách, od riešenia jednoduchých problémov až po zložité problémy. V Pythone zoznamy nahrádzajú polia výhodami ako:
- Dynamický vo veľkosti
- Môže ukladať položky rôznych typov údajov do jedného zoznamu
K údajom môžeme pristupovať jednoducho zo zoznamov podľa poradia; na rozdiel od sád budú údaje zoradené. Na prístup k údajom môžeme použiť niekoľko spôsobov iterácie cez každý prvok v zozname. Tento tutoriál zahŕňa všetky spôsoby s príkladmi.
1. Slučky
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)):>
Výkon:
Porozumenie:
Pomocou for-in sme získali prístup ku všetkým i, prvkom v zozname.
list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i])
Výkon:
Porozumenie:
Funkcia range pomáha cyklu „for“ iterovať od 0 do dĺžky daného zoznamu.
c pole reťazcov programu
Mechanizmus:
rozsah dáva - 0 | list1 [0] | 3 |
rozsah dáva - 1 | list1 [1] | 5 |
rozsah dáva - 2 | list1 [2] | 7 |
rozsah dáva - 3 | list1 [3] | 2 |
rozsah dáva - 4 | list1 [4] | 4 |
- Funkcia rozsahu nedáva posledný zadaný prvok – len (zoznam1) = 5 nie je zadané.
2. Používanie funkcie List Comprehension
Toto je jednoduchý a navrhovaný spôsob iterácie cez zoznam v Pythone.
kód:
list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (' ') [print (list1 [i]) for i in range (0, len (list1))] print (' ')
Výkon:
Porozumenie:
čo je štruktúra v dátovej štruktúre
Môžeme použiť pre slučky vo vnútri porozumenia zoznamu. Použili sme to isté pre slučky, ktoré sme použili vo vyššie uvedených príkladoch, ale v zozname v jednom riadku. Týmto spôsobom môžeme znížiť dĺžku kódu a tiež porozumenie zoznamu je veľmi jemný a efektívny spôsob, ako vkladať slučky do zoznamov.
3. Použitie enumerate():
Funkcia enumerate prevedie daný zoznam na zoznam n-tic. Ďalším dôležitým faktom o tejto funkcii je, že udržiava počet iterácií. Toto je vstavaná funkcia v Pythone.
kód:
list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print ('index = ', i, 'value: ', j)
Výkon:
4. Použitie funkcie lambda a map():
Ide o anonymné funkcie. V Pythone existuje mapa funkcií (), ktorá môže akceptovať funkciu ako argument a volá funkciu s každým prvkom v iterovateľnom prvku a vráti sa nový zoznam so všetkými prvkami z iterovateľného prvku.
kód:
list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result)
Výkon:
Porozumenie:
Lambda num: num sa zadáva ako vstup pre funkciu mapy spolu so zoznamom. Funkcia vezme každý jeden prvok v zozname, prijme ho a potom ho vráti. Funkcia map () odovzdá prvky zoznamu jeden po druhom funkcii lambda, aby vrátila prvky.
Čo ak chceme opakovať viacrozmerné zoznamy?
V Pythone je zabudovaný modul určený na vykonávanie operácií s viacrozmernými zoznamami.
1. Aby ste sa natrápili:
Skontrolujte, či sú nainštalované Python a pip, otvorením cmd pomocou vyhľadávania a zadaním príkazov:
Verzia Python
Pip --verzia
Ak je v našom systéme prítomný Python aj PIP, teraz je čas nainštalovať našu knižnicu:
2. Otvorte cmd z ponuky Štart
3. Napíšte príkaz
pip install numpy
Všetky balíky knižníc, dáta a podbalíky budú nainštalované jeden po druhom.
java pgm
kód:
import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x)
Výkon:
Porozumenie:
Importovali sme numpy modul. Pomocou metódy usporiadania sme vytvorili pole s 9 prvkami. Do zoznamu sme sa dostali tak, že sme ho preformovali na 3 * 3 (riadky * stĺpce) pomocou zmeny tvaru. Pomocou funkcie nditer sme vytlačili každý prvok v zozname.