Itβs better to start by adding quotes to "a", "b" and "c", otherwise you will have confusion between dict a and char "a"
a = [{"id":1,"data":{"age":16,"name":"a"}},
{"id":3,"data":{"age":35,"name":"b"}},
{"id":2,"data":{"age":9,"name":"c"}}]
For itemgetter:
from operator import itemgetter
a = [{"id":1,"data":{"age":16,"name":"a"}},
{"id":3,"data":{"age":35,"name":"b"}},
{"id":2,"data":{"age":9,"name":"c"}}]
l=sorted(a, key = lambda k : itemgetter('age')(itemgetter('data')(k)) )
print (l)
source
share