[Tutor] Accessing a tuple of a dictionary's value
Alan Gauld
alan.gauld at yahoo.co.uk
Wed Aug 22 17:55:22 EDT 2018
On 22/08/18 17:27, Mats Wichmann wrote:
> I'm really unfond of accessing members of a collection by numeric index.
>
> >>> numer, denom = d["twothirds"]
> >>> print(numer, denom)
> (2, 3)
>
> I think that's nicer than: numer = d["twothirds][0]
You can alsao avoid indexes with the namedtuple
class in the collections module:
>>> import collections as coll
>>> frac = coll.namedtuple("Fraction", ['num','den'])
>>> frac
<class '__main__.Fraction'>
>>> f = frac(2,3)
>>> f.num
2
>>> f.den
3
>>> fracs = {0.67:f}
>>> fracs[0.67].num
2
>>>
Or just use a nested dictionary:
fracs = {0.67, {'num':2, 'den':3}}
print( fracs[0.67]['num'] )
But you have the inconvenience of quoting the
field names.
--
Alan G
Author of the Learn to Program web site
http://www.alan-g.me.uk/
http://www.amazon.com/author/alan_gauld
Follow my photo-blog on Flickr at:
http://www.flickr.com/photos/alangauldphotos
More information about the Tutor
mailing list