[Tutor] use of the newer dict types
Alan Gauld
alan.gauld at btinternet.com
Fri Jul 26 13:12:19 CEST 2013
On 26/07/13 09:50, Albert-Jan Roskam wrote:
> if I have d = {1: 2}, I can do membership testing in the following
> two ways --but which one is the preferred way?:
> if 1 in d:
> pass
> if d.has_key(1):
> pass
In addition to being more readable (and the fact it's the only way in
v3) 'in' has another big advantage - it's polymorphic:
holds_1 = []
bigBox = [ {1:2,3:4}, ['a',2,;freddy',True], (1,2,3) ]
for collection in bigBox:
if 1 in collection:
holds_1.append(collection)
You can't do that using has_key(), the code has to test
for dict type etc.
So all in all 'in' is the way to go.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
More information about the Tutor
mailing list