35 lines
732 B
Python
35 lines
732 B
Python
# namedtuple.py
|
|
|
|
|
|
# the problem
|
|
>>> vision = (9.5, 8.8)
|
|
>>> vision
|
|
(9.5, 8.8)
|
|
>>> vision[0] # left eye (implicit positional reference)
|
|
9.5
|
|
>>> vision[1] # right eye (implicit positional reference)
|
|
8.8
|
|
|
|
|
|
# the solution
|
|
>>> from collections import namedtuple
|
|
>>> Vision = namedtuple('Vision', ['left', 'right'])
|
|
>>> vision = Vision(9.5, 8.8)
|
|
>>> vision[0]
|
|
9.5
|
|
>>> vision.left # same as vision[0], but explicit
|
|
9.5
|
|
>>> vision.right # same as vision[1], but explicit
|
|
8.8
|
|
|
|
|
|
# the change
|
|
>>> Vision = namedtuple('Vision', ['left', 'combined', 'right'])
|
|
>>> vision = Vision(9.5, 9.2, 8.8)
|
|
>>> vision.left # still correct
|
|
9.5
|
|
>>> vision.right # still correct (though now is vision[2])
|
|
8.8
|
|
>>> vision.combined # the new vision[1]
|
|
9.2
|