Skip to content
Advertisement

Print a dictionary into a table

I have a dictionary:

dic={'Tim':3, 'Kate':2}

I would like to output it as:

Name Age
Tim 3
Kate 2

Is it a good way to first convert them into a list of dictionaries,

lst = [{'Name':'Tim', 'Age':3}, {'Name':'Kate', 'Age':2}]

and then write them into a table, by the method in https://stackoverflow.com/a/10373268/156458?

Or is there a way better in some sense?

Advertisement

Answer

Rather than convert to a list of dictionaries, directly use the .items of the dict to get the values to display on each line:

print('Name Age')
for name, age in dic.items():
    print(f'{name} {age}')

In versions before 3.6 (lacking f-string support), we can do:

print('Name Age')
for name, age in dic.items():
    print('{} {}'.format(name, age))
Advertisement