panhaema

Her yer kanla kaplı...

^arşiv    ^dökümanlar    ^arama    ^hakkımda

Güncel Tarih: 31.07.2010 Saat: 13:44:00

^/dev/panrandom: Kaudat nükleus... --


^tag is evil!
freud(27) sosyal(49) teori(29) animasyon(3) video(4) oyun(9) sevdim(2) hayal(15) yeni(4) tarih(9) duvarlar(11) svastika(1) wii(4) disney(1) darkwave(7) post-hardcore(1) bilemiyorum(3) linux(75) hack(8) teknoloji(25) patent(4) geek(4) famicom(1) programlama(19) korn(1) solaris(1) flame(1) kirlilik(1) industrial(2) sysadmin(3) netiket(3) tanz-metall(3) film(6) mame(1)
panhaema: Python'daki nesneler insanı neden üzer?

19.01.2006 17:11:03 - Python'daki nesneler insanı neden üzer?

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.





51 + 8 işleminin sonucu nedir?

Genel Ağ kimliğiniz

Site/Elektronik Posta adresiniz
(Elektronik Posta adresinizi tanımlayacaksanız ve spambot'lara hedef olmak istemiyorsanız,
'@' yerine 'AT', '.' yerine de 'DOT/NOKTA' kullanın)

Yorumunuz
(HTML'e izin verilmiyor)


Yorumlarınız yasal anlamda da sizin sorumluluğunuzdadır.




CCBot/1.0 (+http://www.commoncrawl.org/bot.html) ile izliyorsunuz.