python-workout icon indicating copy to clipboard operation
python-workout copied to clipboard

e13b1_namedtuple_records.py throws KeyError

Open tnakatani opened this issue 5 years ago • 0 comments

The solution in e13b1_namedtuple_records.py throws an error: KeyError: 'last'

In the solution below:

def format_sort_records(list_of_tuples):
    output = []
    template = '{last:10} {first:10} {distance:5.2f}'
    for person in sorted(list_of_tuples, key=operator.attrgetter('last', 'first')):
        output.append(template.format(*(person._asdict())))
    return output

I believe you need two asterisks in output.append to make it work:

output.append(template.format(**(person._asdict())))

Reference: https://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists

tnakatani avatar Dec 05 '20 02:12 tnakatani