Seznamy jsou jednou z nejpoužívanějších datových struktur v Pythonu. Seznamy stále používáme v mnoha různých aplikacích, od řešení jednoduchých problémů až po složité problémy. V Pythonu seznamy nahrazují pole výhodami, jako jsou:
- Dynamický ve velikosti
- Může ukládat položky různých typů dat do jednoho seznamu
K datům můžeme přistupovat jednoduše ze seznamů podle pořadí; na rozdíl od sad budou data neuspořádaná. Pro přístup k datům můžeme použít několik způsobů, jak iterovat každý prvek uvnitř seznamu. Tento tutoriál pokrývá všechny způsoby s příklady.
1. Smyč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ýstup:
Porozumění:
Pomocí for-in jsme získali přístup ke všem i, prvkům v seznamu.
list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i])
Výstup:
Porozumění:
Funkce range pomáhá cyklu 'for' iterovat od 0 do délky daného seznamu.
java index
Mechanismus:
rozsah dává -0 | list1 [0] | 3 |
rozsah dává - 1 | list1 [1] | 5 |
rozsah dává - 2 | list1 [2] | 7 |
rozsah dává - 3 | list1 [3] | 2 |
rozsah dává - 4 | list1 [4] | 4 |
- Funkce range nedává poslední zadaný prvek - není zadáno len (seznam1) = 5.
2. Použití List Comprehension
Toto je jednoduchý a navrhovaný způsob, jak iterovat seznamem v Pythonu.
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ýstup:
Porozumění:
csma a csma cd
Můžeme použít pro smyčky uvnitř porozumění seznamu. Použili jsme totéž pro smyčky, které jsme použili ve výše uvedených příkladech, ale uvnitř seznamu na jednom řádku. Tímto způsobem můžeme zkrátit délku kódu a také porozumění seznamu je velmi jemný a efektivní způsob, jak vkládat smyčky do seznamů.
3. Použití enumerate():
Funkce enumerate převede daný seznam na seznam n-tic. Dalším důležitým faktem této funkce je, že uchovává počet iterací. Toto je vestavěná funkce v Pythonu.
Kód:
list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print ('index = ', i, 'value: ', j)
Výstup:
4. Použití funkce lambda a map():
Jedná se o anonymní funkce. V Pythonu existuje mapa funkcí (), která může přijmout funkci jako argument a volá funkci s každým prvkem v iterovatelné a vrátí se nový seznam se všemi prvky z iterovatelné.
Kód:
list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result)
Výstup:
Porozumění:
Lambda num: num se zadává jako vstup do mapové funkce spolu se seznamem. Funkce vezme každý jednotlivý prvek v seznamu, přijme jej a poté jej vrátí. Funkce map () předá prvky seznamu jeden po druhém funkci lambda, aby prvky vrátila.
Co když chceme iterovat vícerozměrné seznamy?
V Pythonu je vestavěný modul určený k provádění operací s vícerozměrnými seznamy.
1. Chcete-li se zbláznit:
řazení seznamu java
Zkontrolujte, zda jsou nainstalovány Python a pip, otevřením cmd pomocí vyhledávání a zadáním příkazů:
Python - verze
Pip --verze
Pokud jsou v našem systému Python i PIP, je nyní čas nainstalovat naši knihovnu:
2. Otevřete cmd z nabídky Start
3. Zadejte příkaz
pip install numpy
Všechny balíčky knihoven, data a dílčí balíčky budou nainstalovány jeden po druhém.
Kód:
import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x)
Výstup:
Porozumění:
Importovali jsme numpy modul. Pomocí metody uspořádání jsme vytvořili pole s 9 prvky. K seznamu jsme se dostali tak, že jsme jej přetvořili na 3 * 3 (řádky * sloupce) pomocí změny tvaru. Pomocí funkce nditer jsme vytiskli každý prvek v seznamu.