Python listeler ve icinde for dongusu

merhabalar benim bir sorum olucak
a=[0,1,2,3]
for a[-1] in a:
print(a[-1])

0
1
2
2
ve birde print(a[-1]) yerine print(a) yazdigimizda soyle bir sey oluyor
[0,1,2,0]
[0,1,2,1]
[0,1,2,2]
[0,1,2,2]
neden boyle oluyor anliyamadim yanitlarsaniz cok sevinirim

print(a[-1]) a listesinin -1. elemanını yazdırıyor (son elemanını).
print(a) ise a listesini.
for a[-1] in a döngüsü ise a listesindeki tüm elemanları dolaşıp listenin son elemanını 0,1,2 şeklinde değiştiriyor.

Siz tam olarak ne olmasını istiyorsunuz?

Ayrıca eğer listenin son elemanını değiştirmek gibi bir niyetiniz yoksa for i in a gibi bir döngü de deneyebilirsiniz. Belki istediğinizi verebilir.

bkz: Soru Sorarken Sıkça Düşülen Hatalar #1

Bu cok, cok yanlis bir kod parcasi. for’daki hedef listesi (a[-1] kismi) sadece ciplak tanimlayicilardan (“degisken isimleri”; a, b, x, y, vs.) olusmali. Aksi takdirde, dunya uzerindeki for loop’larinin %99’undan farkli olarak, iki is birden yapmis oluyoruz. Bu kodu

for x in a:
	a[-1] = x
	...

seklinde yazmamak icin gecerli bir sebep varsa bile su anda aklima gelmiyor.

2 Beğeni

sadece instagram da karsima cikmisdi quiz sorusu olarak

1 Beğeni