🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.python
Article #28270

Re: Pytania początkującego cz. 1

#28270
From: Jordan Szubert
Date: Thu, 10 Nov 2011 16:07
46 lines
2613 bytes
Dnia 10-11-2011 o 16:37:27 hubert depesz lubaczewski <depesz@depesz.com>  
napisał(a):

> On 2011-11-10, Stachu 'Dozzie' K.  
> <dozzie@go.eat.some.screws.spammer.invalid> wrote:
>>>>> 2. jaka jest praktyczna różnica między [listą] a (tuplą) ?
>>>>
>>>> W dyskusji pojawia się niehaszowalność listy, w odróżnieniu od krotki:
>>>>   http://jtauber.com/blog/2006/04/15/python_tuples_are_not_just_constant_lists/
>>>> Co zresztą ma sens, skoro krotka jest niezmienna (haszkod też nie
>>>> powinien, inaczej element musiałby wędrować po strukturze albo byłby
>>>> problem z jego namierzeniem przy dostępie).
>>>
>>> czy tych haszy się do czegoś używa?
>>
>> Depesz, no przestań! A jak twoim zdaniem jest zbudowany słownik (Python)
>> czy %tablica (Perl)? Haszkod jest używany do zlokalizowania wartości
>> w pamięci (odpowiedniego kubełka).
>
> moment. dict to dict.
>
> a hasz tupli to coś innego:
>
>>>> x=(1,2,3)
>>>> x.__hash__();
> 2528502973977326415
>
> i to tych haszy nie można robić z modyfikowalnych rzeczy. np. wsadzenie
> listy do tupli psuje haszowalność:
>
>>>> ( 1, 2, [3,4]).__hash__()
> Traceback (most recent call last):
>   File "<stdin>", line 1, in <module>
>   TypeError: unhashable type: 'list'
>
>
> więc czy te hasze są do czegoś użyteczne?

no te wlasnie hashe sa potrzebne dictowi, kluczem w slowniku moze byc  
wylacznie obiekt hashowalny, jak tuple, frozenset, str, int etc., zas  
lista, set, dict nie moga byc kluczem w slowniku (choc moga byc wartoscia)
http://en.wikipedia.org/wiki/Hash_table tu pewnie pisza, jak dokladnie  
dict tego hasha uzywa

-- 
Jordan Szubert
Technical Details
Message-ID: <op.v4qm2eophilul8@asus7p.home>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <vhsqo8-di8.ln1@depesz.com> <slrnjblpjq.7mn.dozzie@jarowit.net> <3q0to8-r2o.ln1@depesz.com> <slrnjbnmlk.7mn.dozzie@jarowit.net> <nm7to8-ieq.ln1@depesz.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!newsfeed.neostrada.pl!unt-exc-01.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Newsgroups: pl.comp.lang.python
Subject: Re: Pytania początkującego cz. 1
References: <vhsqo8-di8.ln1@depesz.com> <slrnjblpjq.7mn.dozzie@jarowit.net> <3q0to8-r2o.ln1@depesz.com> <slrnjbnmlk.7mn.dozzie@jarowit.net> <nm7to8-ieq.ln1@depesz.com>
Date: Thu, 10 Nov 2011 17:07:16 +0100
MIME-Version: 1.0
From: "Jordan Szubert" <usenet@joru.us.to>
Organization: HELL inc.
Message-ID: <op.v4qm2eophilul8@asus7p.home>
User-Agent: Opera Mail/11.52 (Win32)
Lines: 62
NNTP-Posting-Host: 83.26.212.28
X-Trace: 1320941238 unt-rea-b-01.news.neostrada.pl 8444 83.26.212.28:59972
X-Complaints-To: abuse@news.neostrada.pl
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit