Liste içinde birden fazla aynı elemanın indexte ilkinden sonra görünmüyor.hangi kodla diğer elemanların indexlerini öğrenebiliriz?
01.02.2022 - 11:41
Python 201 eğitimi
51
Görüntülenme
1 Beğeni
# List Comprehension
liste = [3,6,2,8,54,2,8,9,3,2,5,7,2,7,8,2]
detail = [{"Sayı": x, "index": liste.index(x)}
for x in liste] print(detail)
# Fonksiyonel Programlama liste = [3,6,2,8,54,2,8,9,3,2,5,7,2,7,8,2] x = list(map(lambda x: {'number':x[1], 'rank':x[0]}, enumerate(liste))) print(x)
bu şekilde yapabilirsin.
Merhaba söylediklerinizi biraz araştırdıktan sonra en iyi uygulanmış 2 örnek buldum. Dediğiniz işlem farklı işlemlerde yapılabiliyor. 1. List Comprehension 2. Fonksiyonel Programlama ile yapılabiliyor
# List Comprehension
liste = [3,6,2,8,54,2,8,9,3,2,5,7,2,7,8,2]
detail = [{"Sayı": x, "index": liste.index(x)} for x in liste]
print(detail)
# Fonksiyonel Programlama
liste = [3,6,2,8,54,2,8,9,3,2,5,7,2,7,8,2]
x = list(map(lambda x: {'number':x[1], 'rank':x[0]}, enumerate(liste)))
print(x)
firstIndex = liste.index("ali")
secondIndex = liste.index("ali",firstIndex+1)
print(secondIndex)
bu şekilde ikinci sıradaki ali değerinin indexini alabilirsin.
çok teşekkür ederim. aradığım soru aslında şu şekilde liste =[ali,ayse,ahmet,ahmet,merve,ali] gibi bir listeden index(ali) dediğimde ilk elemanın index değerine ulaşılıyor. sırayla diğerlerine ulaşmak için döngü kullanmadan bir çözüm olup olmadığını arıyorum.
Direkt bir metodu var mı bilmiyorum ama aklıma şöyle bir çözüm geldi;
Öncelikle listeye .sort() metodu ile listeyi dizersin.
Ardından .count() metoduyla istediğin değerden kaç tane olduğunu sorgularsın.
En sonda da .index() nereden başladığını bulursun.
Örnek:
liste = [3,6,2,8,54,2,8,9,3,2,5,7,2,7,8,2]
liste.sort()
liste
[2, 2, 2, 2, 2, 3, 3, 5, 6, 7, 7, 8, 8, 8, 9, 54]
# Bu çıktın olur.
liste.count(2)
liste.index(2)
Az çok fikrin olur
Merhaba söylediklerinizi biraz araştırdıktan sonra en iyi uygulanmış 2 örnek buldum. Dediğiniz işlem farklı işlemlerde yapılabiliyor. 1. List Comprehension 2. Fonksiyonel Programlama ile yapılabiliyor