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))
[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.