Python ile Dizi Elemanlarını Tersten Yazma
Python kullanarak örnek algoritma sorularını çözdüğümüz serimizin yedinci sorusuna geçelim:
- Bir dizideki elemanları tersten olacak şekilde sıralayın:
- Örnek girdi: [1, 4, 6, 8, 9]
- Örnek çıktı: [9, 8, 6, 4, 1]
- Çözüm Yolu: Python’ın Slicing Özelliği
1 2 3 4 5 6 7 |
def dizi_tersine_cevir_slicing(dizi): return dizi[::-1] # Örnek kullanım: giris = [1, 4, 6, 8, 9] cikis_slicing = dizi_tersine_cevir_slicing(giris) print("Slicing ile Çıkış:", cikis_slicing) # [9, 8, 6, 4, 1] |
Python’da “slicing ile “listeleri“, “stringleri” ve diğer dizi tiplerini dilimlemek için kullanabiliriz. Bu örneğimizde de, ::-1
dilimi ile verilen diziyi tersine çevirdik.
- Çözüm Yolu: For Döngüsü
1 2 3 4 5 6 7 8 9 10 |
def dizi_tersine_cevir_for(dizi): ters_dizi = [] for sayi in dizi: ters_dizi.insert(0, sayi) return ters_dizi # Örnek kullanım: giris = [1, 4, 6, 8, 9] cikis_for = dizi_tersine_cevir_for(giris) print("For Döngüsü ile Çıkış:", cikis_for) # [9, 8, 6, 4, 1] |
Bu yöntemde, başlangıçta boş bir “ters_dizi” listesi oluşturduk. Orijinal dizi üzerinde for döngüsü ile her bir sayıyı aldık ve her bir sayıyı insert()
metodu ile en başa ekledik. Dolayısıyla döngüdeki en son sayı listenin ilk elemanı olarak listeye eklenerek liste oluşturulmuştur. Bakınız:
- İlk adımda:
sayi = 1
,ters_dizi = [1]
- İkinci adımda:
sayi = 4
,ters_dizi = [4, 1]
- Üçüncü adımda:
sayi = 6
,ters_dizi = [6, 4, 1]
- Dördüncü adımda:
sayi = 8
,ters_dizi = [8, 6, 4, 1]
- Beşinci adımda:
sayi = 9
,ters_dizi = [9, 8, 6, 4, 1]