Python Örnekle index()'i listeleyin
⚡ Akıllı Özet
Python `index()` fonksiyonu verilen öğenin ilk konumunu döndürürken, `loo` fonksiyonu da aynı işlevi görür.ping Yapılar, liste anlama ifadeleri, enumerate(), filter(), NumPy kütüphanesi ve more_itertools.locate() bu tekniği, yinelenen değerler içeren bir listedeki her eşleşen dizini toplamak için genişletir.

Liste, farklı veri türlerindeki öğeleri (int'ler, kayan noktalar, Boolean, dizeler vb.) sıralı bir sırayla saklayan bir kaptır. Dahili olarak bulunan önemli bir veri yapısıdır. PythonVeriler köşeli parantez ([]) içine yazılır ve değerler virgülle (,) ayrılır.
Liste içindeki öğeler 0 indeksinden başlayarak ilk elemanla indekslenir. Oluşturulan listede yeni öğeler ekleyerek veya mevcut olanları güncelleyerek, silerek değişiklik yapabilirsiniz. Aynı zamanda yinelenen öğelere ve iç içe geçmiş bir listeye de sahip olabilir.
Listeler üzerinde birçok yöntem kullanılabilir ve bunlardan önemlilerinden biri de index() yöntemidir.
Python Liste dizini()
List index() yöntemi, verilen öğenin ilk en düşük dizinini bulmanıza yardımcı olur. Listede yinelenen öğeler varsa, öğenin ilk dizini döndürülür. Bu, dizini almanın en kolay ve anlaşılır yoludur.
Listedeki yerleşik index() yönteminin yanı sıra, loo gibi başka yöntemler kullanarak da indeksi elde edebilirsiniz.ping Listeyi, liste anlama ifadeleri, enumerate() ve filter yöntemlerini kullanarak tarayın.
List index() yöntemi, verilen öğenin ilk en düşük dizinini döndürür.
Sözdizimi
list.index(element, start, end)
Parametreler
| Parametreler | Açıklama |
|---|---|
| eleman | Dizini almak istediğiniz öğe. |
| başlama | Bu parametre isteğe bağlıdır. Öğeyi aramak için başlangıç dizinini tanımlayabilirsiniz. Belirtilmezse, varsayılan değer 0'dır. |
| son | Bu parametre isteğe bağlıdır. Aranacak öğenin bitiş indeksini belirleyebilirsiniz. Verilmediği takdirde liste sonuna kadar değerlendirmeye alınır. |
Geri dönüş değeri
List index() yöntemi, verilen öğenin dizinini döndürür. Öğe listede yoksa, index() yöntemi bir hata verecektir; örneğin, ValueError: 'Element' listede yok.
Örnek: Verilen elemanın indeksini bulmak için.
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] listesinde C ve F elemanlarının indekslerini öğrenmek istiyoruz.
Aşağıdaki örnekte indeksin nasıl alınacağı gösterilmektedir.
my_list = ['A', 'B', 'C', 'D', 'E', 'F'] print("The index of element C is ", my_list.index('C')) print("The index of element F is ", my_list.index('F'))
Çıktı:
The index of element C is 2 The index of element F is 5
Örnek: index()'te başlangıç ve bitişin kullanılması
Bu örnekte, bir listedeki indeksi ararken başlangıç ve bitiş indekslerini kullanarak aramayı sınırlandırmaya çalışacağız.
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('C', 1, 5)) print("The index of element F is ", my_list.index('F', 3, 7)) #using just the startindex print("The index of element D is ", my_list.index('D', 1))
Çıktı:
The index of element C is 2 The index of element F is 5 The index of element D is 3
Örnek: index() yöntemini mevcut olmayan bir öğeyle test etmek.
Listede bulunmayan bir öğeyi aramaya çalıştığınızda, aşağıda gösterildiği gibi bir hata alırsınız:
my_list = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'] print("The index of element C is ", my_list.index('Z'))
Çıktı:
Traceback (most recent call last): File "display.py", line 3, in <module> print("The index of element C is ", my_list.index('Z')) ValueError: 'Z' is not in list
Listedeki bir öğenin dizinini almak için for-döngüsünü kullanma
List.index() metodu ile argüman olarak iletilen elemanın indeksini verdiğini gördük.
Şimdi listeyi şu şekilde düşünün: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru']. İsim 'Guru' ifadesi dizinde 3 kez geçiyor ve ben ' ile başlayan tüm dizinleri istiyorum.Guru'.
Aşağıdaki örnekte gösterildiği gibi, for döngüsü kullanarak birden fazla indeksi elde edebilmeliyiz.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] all_indexes = [] for i in range(0, len(my_list)) : if my_list[i] == 'Guru' : all_indexes.append(i) print("Originallist ", my_list) print("Indexes for element Guru : ", all_indexes)
Çıktı:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
While döngüsünü ve list.index() işlevini kullanma
Bir while döngüsü kullanmak, verilen öğenin tüm indekslerini almak için verilen listede dolaşacaktır.
Listede: my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'], ' öğesinin tüm indekslerine ihtiyacımız var.Guru'.
Aşağıda, while döngüsü kullanarak tüm indeksleri nasıl alacağınızı gösteren bir örnek bulunmaktadır.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] result = [] elementindex = -1 while True: try: elementindex = my_list.index('Guru', elementindex+1) result.append(elementindex) except ValueError: break print("OriginalList is ", my_list) print("The index for element Guru is ", result)
Çıktı:
OriginalList is ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] The index for element Guru is [0, 3, 6]
Bir listedeki öğenin dizinini almak için liste kavramayı kullanma
Tüm indeksleri almanın hızlı ve basit bir yolu listedeki liste kavramayı kullanmaktır.
Liste anlayışları Python yeni diziler oluşturmak için kullanılan işlevler (listeler, sözlükler vb. gibi), yani önceden oluşturulmuş dizileri kullanmak.
Daha uzun döngüleri azaltmaya ve kodunuzun okunmasını ve bakımını kolaylaştırmaya yardımcı olurlar.
Aşağıdaki örnek, bunun nasıl yapılacağını göstermektedir:
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = [a for a in range(len(my_list)) if my_list[a] == 'Guru'] print("Indexes for element Guru : ", all_indexes)
Çıktı:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Listedeki bir öğenin dizinini almak için Numaralandırmayı kullanma
Enumerate() işlevi, aşağıdakilerle kullanılabilen yerleşik bir işlevdir: Python. Bir listedeki öğenin tüm dizinlerini almak için numaralandırmayı kullanabilirsiniz. Girdiyi yinelenebilir bir nesne (yani döngüye sokulabilen bir nesne) olarak alır ve çıktı, her öğeye karşı bir sayacı olan bir nesnedir.
Aşağıdaki örnek, bir listedeki bir öğenin tüm indekslerini almak için `enumerate` fonksiyonunun nasıl kullanılacağını göstermektedir.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) print("Indexes for element Guru : ", [i for i, e in enumerate(my_list) if e == 'Guru'])
Çıktı:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Listedeki bir öğenin dizinini almak için filtre kullanma
Filter() yöntemi, verilen listeyi verilen fonksiyona göre filtreler. Listenin her elemanı fonksiyona iletilecek ve gerekli elemanlar fonksiyonda belirtilen koşula göre filtrelenecektir.
Listedeki belirli bir öğenin indekslerini almak için filter() yöntemini kullanalım.
Aşağıdaki örnek, bir listede filtre kullanımının nasıl gerçekleştirileceğini göstermektedir.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist ", my_list) all_indexes = list(filter(lambda i: my_list[i] == 'Guru', range(len(my_list)))) print("Indexes for element Guru : ", all_indexes)
Çıktı:
Originallist ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
Listedeki bir öğenin dizinini almak için NumPy'yi kullanma
NumPy kütüphanesi özellikle diziler için kullanılır. Bu nedenle burada, verilen listeden ihtiyacımız olan elemanın indeksini almak için NumPy'den yararlanacağız.
NumPy'den yararlanmak için onu kurmalı ve içe aktarmalıyız.
İşte aynı adımlar:
) 1 Adım NumPy'yi yükleyin
pip install numpy
) 2 Adım NumPy Modülünü içe aktarın.
import numpy as np
) 3 Adım Listeyi diziye dönüştürmek için `np.array` yöntemini kullanın.
my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list)
) 4 Adım np.where() kullanarak istediğiniz öğenin indeksini alın.
item_index = np.where(np_array == 'Guru')[0]
Çıkışlı son çalışma kodu aşağıdaki gibidir:
import numpy as np my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] np_array = np.array(my_list) item_index = np.where(np_array == 'Guru')[0] print("Originallist ", my_list) print("Indexes for element Guru :", item_index)
Çıktı:
Originallist['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0 3 6]
more_itertools.locate() kullanarak bir listedeki bir öğenin indeksini almak
`more_itertools.locate()` fonksiyonu, listedeki öğelerin indekslerini bulmaya yardımcı olur. Bu modül aşağıdakilerle çalışacaktır: Python sürüm 3.5+. Paket more_itertools Kullanılabilmesi için öncelikle kurulması gerekmektedir.
Aşağıda more_itertools'u kurmak ve kullanmak için izlenecek adımlar verilmiştir:
) 1 Adım More_itertools'u pip kullanarak yükleyin (Python paket yöneticisi). Komut
pip install more_itertools
) 2 Adım Kurulum tamamlandıktan sonra içe aktarın yerleştirmek Aşağıda gösterildiği gibi modül.
from more_itertools import locate
Artık aşağıdaki örnekte gösterildiği gibi bir listedeki konum bulma modülünü kullanabilirsiniz:
from more_itertools import locate my_list = ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] print("Originallist : ", my_list) print("Indexes for element Guru :", list(locate(my_list, lambda x: x == 'Guru')))
Çıktı:
Originallist : ['Guru', 'Siya', 'Tiya', 'Guru', 'Daksh', 'Riya', 'Guru'] Indexes for element Guru : [0, 3, 6]
