j
boş bir liste, ancak [0]
ilk yinelemede henüz var olmayan öğeye yazmaya çalışıyorsunuz .
Listenin sonuna yeni bir öğe eklemek için bunun yerine şunu deneyin:
for l in i:
j.append(l)
Tabii ki, tek yapmanız gereken mevcut bir listeyi kopyalamak olsaydı bunu pratikte asla yapmazsınız. Sadece yapardınız:
j = list(i)
Alternatif olarak, Python listesini başka dillerde bir dizi gibi kullanmak istiyorsanız, öğeleri null değerine ( None
aşağıdaki örnekte) ayarlanmış bir listeyi önceden oluşturabilir ve daha sonra belirli konumlardaki değerlerin üzerine yazabilirsiniz:
i = [1, 2, 3, 5, 8, 13]
j = [None] * len(i)
#j == [None, None, None, None, None, None]
k = 0
for l in i:
j[k] = l
k += 1
Gerçekleştirilecek şey, bir list
nesnenin var olmayan bir dizine bir değer atamanıza izin vermeyeceğidir.
append
kullanım durumunuz için doğru çözümdür, ancak python listesinde doğrudan listedeki i'ci konuma ekleyebilecek bir ekleme yöntemi vardır.j.insert(k, l)