Python ile Dizideki Elemanların Kaç Kere Tekrar Edildiğini Bulma
Python kullanarak örnek algoritma sorularını çözdüğümüz serimizin onuncu sorusuna geçelim:
- Bir dizi içerisindeki elemanların kaç kere tekrar edildiğini bulma
- Örnek girdi: [5, 3, 4, 8, 5, 3, 1, 5]
- Örnek çıktı: {5: 3, 3: 2, 4: 1, 8: 1, 1: 1}
Python’da bir dizideki elemanların kaç kere tekrar edildiğini bulmak için collections
modülündeki Counter
sınıfını kullanabiliriz. Bakınız:
from collections import Counter
def tekrar_sayilari(dizi):
return Counter(dizi)
# Örnek kullanım:
giris_dizi = [5, 3, 4, 8, 5, 3, 1, 5]
cikis = tekrar_sayilari(giris_dizi)
print(cikis) # Counter({5: 3, 3: 2, 4: 1, 8: 1, 1: 1})
Yukarıdaki kodumuz, dizideki her bir elemanın kaç kere tekrar ettiğini bir Counter
nesnesi olarak döndürür. Counter
nesnesi, bir sözlüğe benzer ve her bir elemanın kaç kere tekrar ettiğini gösterir.
Her elemanı sözlüğün anahtarı olarak kullanan ve karşılığında tekrar sayısını saklayan bir sözlük oluşturabiliriz.
def tekrar_sayilari(dizi):
tekrarlar = {}
for eleman in dizi:
if eleman in tekrarlar:
tekrarlar[eleman] += 1
else:
tekrarlar[eleman] = 1
return tekrarlar
giris_dizi = [5, 3, 4, 8, 5, 3, 1, 5]
cikis = tekrar_sayilari(giris_dizi)
print(cikis) # {5: 3, 3: 2, 4: 1, 8: 1, 1: 1}