Kopyalamak
bag.copy() o anda bag içinde duran değerleri alır ve yeni bir listeye koyar. Şu anda bag önce tea, sonra water tutar; yeni liste de tea, sonra water tutar. other adı bu yeni listedir. other, bag değildir.
Herhangi bir değişiklikten önce other'ın 0. yerinde tea, 1. yerinde water vardır. Uzunluk 2'dir. Kopya o anın görüntüsüdür. Bundan sonra bag'i izlemez.
bag[0] = "soup" tea'nin yerine soup'u yalnız bag'in içine koyar. other hâlâ tea ile başlar ve water iki listenin de 1. yerinde kalır. İki uzunluk da 2 kalır. Kopya sonradan gelen bu değişikliği almaz.
bag = ["tea", "water"]
other = bag.copy()
bag[0] = "soup"
print(bag)
print(other)
İlk satır soup, sonra water. İkinci satır tea, sonra water. soup yalnız bag'dedir. tea, other'ın başında durur. print her listeyi köşeli ayraçlarıyla yazar; iki liste yan yana görünür.
Ters yön de böyledir. other[1] = "bread" bread'i yalnız other'a koyardı. bag'in 1. yeri water kalırdı. Bu program o adımı atmaz. Kopyadan sonra yalnız bag'i değiştirir.
bag[:] de aynı değerlerle yeni bir liste kurar. Bu, listenin tümünün kesimidir ve sonuç bag'den ayrıdır. other = bag kopya değildir. İki ad da tek listedir, bu yüzden sonraki bir değişiklik iki adda da görünür.
📊 Yazmanın üç yolu
| Yazılış | Ne elde edersiniz |
|---|---|
| bag.copy() | bu andaki değerlerle yeni bir liste |
| bag[:] | aynı değerlerle yeni bir liste |
| other = bag | yeni liste değil; iki ad da o tek liste |
tea'yi tutmayan ad
other = bag yazıp ardından bag[0] = "soup" derseniz, other da soup gösterir. tea'yi tutacak ikinci bir liste yoktu. Yukarıdaki program copy() kullanır, bu yüzden other tea'yi, sonra water'ı tutar.
Sonraki sayfa değerleri bir sıraya koyar. Bu sayfa sırayı değiştirmez. other içinde tea, water'ın önünde kalır çünkü kopya anındaki sıra buydu. bag'de soup baştadır, yalnızca kopyadan sonra 0. yeri değiştirdiğiniz için.
Ayrı kalan ne
- Program ilk satırı ne yazar, ardından ikinciyi?
- Programdan sonra other'ın ilk değeri nedir?
- Ardından other'ın 1. yerine bread koyarsanız, bag'in 1. yerinde ne kalır?
- other = bag, copy()'un yapmadığı neyi yapar?
tea kopyada kalır
Ekran soup, sonra water, ardından tea, sonra water olur. other hâlâ tea ile başlar. İki uzunluk da 2'dir. other'a bread koymak, bag'in 1. yerinde water'ı bırakır. other = bag tek listedir, soup iki adda da görünürdü. bag[:] aynı değerlerle bir başka yeni listedir. Sonraki sayfa değerleri sıraya koyar. Bu kopyayı yapmaz.
🧠 Bilginizi Test Edin
Bilginizi Test Edin
Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör
📝 Talimatlar
- Her soruyu dikkatle okuyun
- Her soru için en iyi cevabı seçin
- Quiz'i istediğiniz kadar tekrar alabilirsiniz
- İlerlemeniz üstte gösterilecek