2022-12-30
Python namedtuple
TIL
>>> from collections import namedtuple >>> nt = namedtuple('nt', ['value', 'id']) >>> a = nt('item', '1') >>> a nt(value='item', id='1') >>> a.value 'item' >>> a.id '1'
How I used (unnamed) tuple in my solution for Advent of Code challenge 2022/day/20
>>> items = ['🍚', '🍞'] >>> items_with_index = [] >>> for i, item in enumerate(items): ... items_with_index.append((item, i)) ... >>> items_with_index [('🍚', 0), ('🍞', 1)] >>> items_with_index[0][0] '🍚'
How it could've been done with namedtuple
>>> from collections import namedtuple >>> nt = namedtuple('nt', ['item', 'id']) >>> items = ['🍚', '🍞'] >>> items_with_index = [] >>> for i, item in enumerate(items): ... items_with_index.append(nt(item, i)) ... >>> items_with_index [nt(item='🍚', id=0), nt(item='🍞', id=1)] >>> items_with_index[0].item '🍚'