Python ProgrammingPython Programming

How to sort a list of dictionaries by values of the dictionary?

##
# Python's program to sort a list of dictionaries by values of the dictionary


from operator import itemgetter
import pandas as pd

list_before_sort = [{'name': 'Rocky', 'age': 22},
                    {'name': 'William', 'age': 24},
                    {'name': 'Sunny', 'age': 24},
                    {'name': 'Abrar', 'age': 27}]

print("Before Sort")
print(list_before_sort)

list_after_sort = sorted(list_before_sort, key=itemgetter('name'))
print("\nAfter Sort [name]")
print(list_after_sort)

list_after_sort_age = sorted(list_before_sort, key=itemgetter('age'))
print("\nAfter Sort [age]")
print(list_after_sort_age)


data_sort = pd.DataFrame(list_before_sort)
data_sort = data_sort.sort_values('name')
print("\nAfter Sort [Using Pandas]")
print(data_sort)


Sample output of above program.
C:\programs\examples>pep8 --first example.py

C:\programs\examples>python example.py
Before Sort
[{'age': 22, 'name': 'Rocky'}, {'age': 24, 'name': 'William'}, {'age': 24, 'name': 'Sunny'}, {'age': 27, 'name': 'Abrar'}]

After Sort [name]
[{'age': 27, 'name': 'Abrar'}, {'age': 22, 'name': 'Rocky'}, {'age': 24, 'name': 'Sunny'}, {'age': 24, 'name': 'William'}]

After Sort [age]
[{'age': 22, 'name': 'Rocky'}, {'age': 24, 'name': 'William'}, {'age': 24, 'name': 'Sunny'}, {'age': 27, 'name': 'Abrar'}]

After Sort [Using Pandas]
age name
3 27 Abrar
0 22 Rocky
2 24 Sunny
1 24 William

C:\programs\examples>