İçeriğe atla
CodeItRaw
Diziler

Ders 5/6

Cevap bir sayı değil de bir liste olduğunda, elindeki listeyi değiştirmeye çalışmak yerine yenisini kurmak neredeyse her zaman daha kolay ve daha güvenlidir.

out = []
for v in values:
if v != 0:
out.append(v)
return out + [0] * (len(values) - len(out))
Sıfır olmayanları sırayla topla, sonra eksik kalan yer kadar sıfır ekle. [0] * 3, [0, 0, 0] demektir; + iki listeyi uç uca ekler.

Kısa yazımı da var: [v for v in values if v != 0]. Bu bir liste üretecidir ve yukarıdaki döngüyle aynı işi yapar. Okuması kolay olduğu sürece kullan; içine iki koşul ve bir hesap sıkıştırdıysan döngüye geri dön.

Görevler

Görevler sırayla açılır. Hepsini çözünce sonraki ders açılır.

Bu dersin görevleri, önceki dersler bitince açılır. Anlatımı şimdiden okuyabilirsin.Sıradaki derse git

  1. 01

    Sıfırları Sona At

    Fonksiyon

  2. 02

    Kayan Pencere

    Kod Okuma · Hatayı Bul

  3. 03

    Sıralı Çiftler

    Kod Okuma · Big-O Oku

Sırayı beklemeden çözmek istersen bütün problemler kilitsiz açık: Problemler listesi