Listeler Python'da en çok kullanılan veri yapılarından biridir. Basit problemlerin çözümünden karmaşık problemlerin çözümüne kadar pek çok farklı uygulamada listeleri kullanmaya devam ediyoruz. Python'da listeler dizilerin yerine aşağıdaki gibi avantajlar sağlar:
- Boyut olarak dinamik
- Farklı veri türlerindeki öğeleri tek bir listede saklayabilir
Verilere sıralandığı şekilde basitçe listelerden erişebiliriz; kümelerden farklı olarak veriler sırasız olacaktır. Verilere erişmek için listedeki her öğeyi yinelemenin birkaç yolunu kullanabiliriz. Bu eğitimde örneklerle tüm yollar anlatılmaktadır.
1. Döngüler
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)):>
Çıktı:
Anlamak:
For-in'i kullanarak listenin içindeki tüm i'lere, öğelere eriştik.
list1 = [3, 5, 7, 2, 4] length = len (list1) for i in range (0, len (list1)): print (list1 [i])
Çıktı:
Anlamak:
Range işlevi 'for' döngüsünün 0'dan verilen listenin uzunluğuna kadar yinelenmesine yardımcı olur.
Java kodlama if else ifadesi
Mekanizma:
aralık şunu verir - 0 | sayfa1 [0] | 3 |
aralık şunu verir - 1 | sayfa1 [1] | 5 |
aralık şunu verir - 2 | sayfa1 [2] | 7 |
aralık şunu verir - 3 | sayfa1 [3] | 2 |
aralık şunu verir - 4 | sayfa1 [4] | 4 |
- Range fonksiyonu belirtilen son elemanı vermiyor - len (list1) = 5 verilmiyor.
2. Liste Anlamayı Kullanma
Bu, Python'da bir listeyi yinelemenin basit ve önerilen yoludur.
Kod:
list1 = [3, 5, 7, 2, 4] [print (i) for i in list1] print (' ') [print (list1 [i]) for i in range (0, len (list1))] print (' ')
Çıktı:
Anlamak:
java arraylist sıralama
Bir liste anlayışı içinde for döngülerini kullanabiliriz. Yukarıdaki örneklerde kullandığımız for döngülerinin aynısını tek satırlık bir liste içinde kullandık. Bu şekilde kodun uzunluğunu azaltabiliriz ve ayrıca listeyi anlamak, listelere döngüler yerleştirmenin çok ince ve etkili bir yoludur.
3. Enumerate() işlevini kullanarak:
Enumerate işlevi verilen listeyi bir tuple listesine dönüştürür. Bu fonksiyonla ilgili bir diğer önemli gerçek de yinelemelerin sayısını tutmasıdır. Bu Python'da yerleşik bir işlevdir.
Kod:
list1 = [3, 5, 7, 2, 4] for i, j in enumerate (list1): print ('index = ', i, 'value: ', j)
Çıktı:
4. Lambda işlevini ve haritayı () kullanarak:
Bunlar anonim işlevlerdir. Python'da bir işlevi argüman olarak kabul edebilen bir işlev haritası () vardır ve yinelenebilirdeki her öğeyle birlikte işlevi çağırır ve yinelenebilirdeki tüm öğeleri içeren yeni bir liste döndürülür.
Kod:
list1 = [3, 6, 1, 8, 7] result = list (map (lambda num: num, list1)) print (result)
Çıktı:
Anlamak:
Lambda num: num, listeyle birlikte harita işlevine girdi olarak verilir. Fonksiyon listedeki her bir elemanı alacak, kabul edecek ve sonra geri döndürecektir. Map () işlevi, öğeleri döndürmek için liste öğelerini teker teker lambda işlevine iletecektir.
Çok Boyutlu Listeleri Yinelemek İstersek Ne Olur?
Python'da çok boyutlu listeler üzerinde işlem yapmak için tasarlanmış dahili bir modül bulunmaktadır.
1. Uyuşmak için:
dizeyi tarihe dönüştür
Arama yoluyla cmd'yi açıp komutları yazarak Python ve pip'in kurulu olup olmadığını kontrol edin:
Python sürümü
Pip --versiyon
Sistemimizde hem Python hem de PIP mevcutsa artık kütüphanemizi kurmanın zamanı geldi:
2. Başlat menüsünden cmd'yi açın
3. Komutu yazın
pip kurulumu numpy
Tüm kütüphane paketleri, veriler ve alt paketler birbiri ardına kurulacaktır.
Kod:
import numpy list1 = numpy. arange (9) list1 = list1. reshape (3, 3) for x in numpy. nditer (list1): print (x)
Çıktı:
Anlamak:
Numpy modülünü içe aktardık. Düzenleme yöntemini kullanarak 9 elemanlı bir dizi oluşturduk. Yeniden şekillendirmeyi kullanarak listeyi 3*3 (satır*sütun) şeklinde yeniden şekillendirerek eriştik. Nditer fonksiyonunu kullanarak listedeki her elemanı yazdırdık.