Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.albasani.net!feeder.erje.net!newsfeed.xs4all.nl!newsfeed6.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.014 X-Spam-Evidence: '*H*': 0.97; '*S*': 0.00; 'function,': 0.07; 'python': 0.08; 'compute': 0.09; 'tuple': 0.09; 'algorithm': 0.13; 'stored': 0.13; 'subject:independent': 0.16; 'received:74.125.82.44': 0.16; 'received:mail-ww0-f44.google.com': 0.16; 'meant': 0.17; 'wrote:': 0.18; 'position,': 0.19; "haven't": 0.20; 'dec': 0.22; 'header:In-Reply-To:1': 0.22; 'dictionary': 0.23; 'pair': 0.23; 'table.': 0.23; "python's": 0.24; 'function': 0.27; 'work.': 0.28; 'message-id:@mail.gmail.com': 0.28; 'pm,': 0.29; 'hash': 0.30; 'objects.': 0.30; 'oop': 0.30; 'sun,': 0.30; 'subject:?': 0.31; 'objects': 0.32; 'idea': 0.32; 'this.': 0.33; 'done': 0.34; 'to:addr:python-list': 0.34; 'all.': 0.34; 'then.': 0.34; 'received:74.125.82': 0.35; 'list.': 0.35; 'something': 0.35; 'sets': 0.35; 'explain': 0.36; 'received:74.125': 0.37; 'received:google.com': 0.37; 'think': 0.37; 'maps': 0.38; 'some': 0.38; 'tables': 0.39; 'why': 0.39; 'called': 0.40; 'to:addr:python.org': 0.40; 'type': 0.61; '2011': 0.61; 'power': 0.63; 'stated': 0.68; 'sets,': 0.84; '\xa0there': 0.91 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type:content-transfer-encoding; bh=qUJXMqpx0SElwgkTZhxs7YB3TB+xnqXP1iUdupQwjAs=; b=JRXDlTMZqs7AdE4Don7+TWAb9NUmZfcon9WDFO/lt6PtFG+955344KiXSWFgiUslaH IzOVp1xS8eazIw3k0M58+xNZNb3IqqJPBshZ52ZwV8F+wnU1QSgp3ee8trn2aNo917DL JMSApA5fgM4eAYmO82A5tbtBkywC71TovJqyo= MIME-Version: 1.0 In-Reply-To: <12469565.1384.1323040641935.JavaMail.geo-discussion-forums@prfj18> References: <30715729.411.1322753732534.JavaMail.geo-discussion-forums@pret21> <4ED7A2CE.6070306@davea.name> <6366868.86.1322800180523.JavaMail.geo-discussion-forums@pret21> <3MKCq.194015$th7.47228@newsfe07.ams2> <26969335.380.1323013143216.JavaMail.geo-discussion-forums@prnu18> <27797359.1293.1323021983756.JavaMail.geo-discussion-forums@prfb10> <12469565.1384.1323040641935.JavaMail.geo-discussion-forums@prfj18> From: Ian Kelly Date: Sun, 4 Dec 2011 16:24:49 -0700 Subject: Re: order independent hash? To: Python Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 24 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1323041121 news.xs4all.nl 6938 [2001:888:2000:d::a6]:41823 X-Complaints-To: abuse@xs4all.nl Xref: x330-a1.tempe.blueboxinc.net comp.lang.python:16629 On Sun, Dec 4, 2011 at 4:17 PM, 88888 Dihedral wrote: >> Please explain what you think a hash function is, then. =A0Per >> Wikipedia, "A hash function is any algorithm or subroutine that maps >> large data sets to smaller data sets, called keys." >> >> > Are you miss-leading the power of true OOP ? >> >> I have no idea what you are suggesting. =A0I was not talking about OOP a= t all. > > In python the (k,v) pair in a dictionary k and v can be =A0both an object= s. > v can be a tuple or a list. =A0There are some restrictions on k to be an > =A0hashable type in python's implementation. The key is used to compute t= he position of the pair to be stored in a =A0hash table. The hash function = maps key k to the position in the hash table. If k1!=3Dk2 are both =A0mappe= d to the same > position, then something has to be done to resolve this. I understand how dicts / hash tables work. I don't need you to explain that to me. What you haven't explained is why you stated that a hash function that operates on objects is not a hash function, or what you meant by "misleading the power of true OOP".