Bugün, bir iki kişi python listelerinin eşitlenmesi/kopyalanması mevzusunu anlayamadı.
Bakın buraya da yazıyorum:
>>> j=['elma','armut','kabak']
>>> h=j
>>> h.append(999)
>>> j
['elma', 'armut', 'kabak', 999]
>>> h
['elma', 'armut', 'kabak', 999]
h=j ile sağlanan şey bir tür hard link (*nix türevlerinde yapılanlar gibi), yani python yorumlayıcısına ben sana h desem de j'yi bul diyoruz.
Yapmak istediğimiz şey j'yi olduğu gibi bırakıp; j'nin bir kopyasını h'ye atayarak onun üzerinde işlem yapmaksa, ihtiyacımız olan kod şöyle olmalı:
>>> import copy
>>> j=[32,51,91]
>>> h=copy.deepcopy(j)
>>> h.append(199)
>>> j
[32, 51, 91]
>>> h
[32, 51, 91, 199]
Bu olaya (h=j) şahit olup, buglist'e koşan arkadaşı da (kim ki o?) öpüyorum buradan :-*
^tag is evil! programlama
4
yorum yapılmış.
Ally (Ally) yazmış (19 Jan 06, Saat 15:48):
Benim hocam :_(
Yüzsüz de bir insanım aynı zamanda :-D
|
Tarox (Tarox) yazmış (19 Jan 06, Saat 15:55):
Ally demiş ki:
"Benim hocam :_(
Yüzsüz de bir insanım aynı zamanda :-D"
Salaak salaaak :-p
|
Ally (Ally) yazmış (19 Jan 06, Saat 15:59):
Yanımdaki bilgisayarda oturduğunun farkındasın di mi Tarox...
Fiziksel bir müdahaleye uğraman mümkün yani ;-)
|
myavuzselim (http://users.fulladsl.be/spb1622/) yazmış (20 Jan 06, Saat 11:18):
bir de soyle birsey vardi galiba:
x = y[:]
Ama bunun copy.deepcopy degil de copy.copy'ye denk gelmesi lazim sanursam.
|
|