Python ile Listedeki Benzersiz Sayıları Ayrı Bir Listede Döndürme
Python kullanarak örnek algoritma sorularını çözdüğümüz serimizin dördüncü sorusuna geçelim:
- Bir dizideki tüm benzersiz sayıları ayrı bir liste içinde döndüren program yazın
- Örnek girdi: [1, 2, 2, 3, 4, 4, 5]
- Örnek çıktı: [1, 2, 3, 4, 5]
def benzersiz_sayilari_bul_set(dizi):
return list(set(dizi))
# Örnek kullanım:
giris = [1, 2, 2, 3, 4, 4, 5]
cikis_set = benzersiz_sayilari_bul_set(giris)
print("Çıktı:", cikis_set) # [1, 2, 3, 4, 5]
İlk çözüm için, koleksiyonunda benzersiz değerleri sakladığı için “set” (küme) veri yapısından faydalandık. Kodu çalıştırmak için: Trinket
def benzersiz_sayilari_bul_for(dizi):
benzersiz_sayilar = []
for sayi in dizi:
if sayi not in benzersiz_sayilar:
benzersiz_sayilar.append(sayi)
return benzersiz_sayilar
# Örnek kullanım:
giris = [1, 2, 2, 3, 4, 4, 5]
cikis_for = benzersiz_sayilari_bul_for(giris)
print("Çıktı:", cikis_for) # [1, 2, 3, 4, 5]
İkinci çözüm yolu için for döngüsünü kullandık. Bu yaklaşımda, başlangıçta boş bir “benzersiz_sayilar
” listesi oluşturduk. Ardından gelen dizi üzerinde döngü ile her bir sayıyı kontrol ettik. Eğer bir sayı “benzersiz_sayilar
” listesinde bulunmuyorsa, bu sayıyı listeye ekledik. Bu yaklaşım, diziyi eleman eleman gezip orijinal sırayı korurken benzersiz sayıları ayıklamamıza olanak tanır.
Ancak belirtmek isterim ki, büyük listeler için bu yöntem, her elemanın listeye dahil edilip edilmediğini kontrol edeceği için daha yavaş çalışacaktır.