I have below structure
{
    'searchResult' : [{
            'resultType' : 'station',
            'ranking' : 0.5
        }, {
            'resultType' : 'station',
            'ranking' : 0.35
        }, {
            'resultType' : 'station',
            'ranking' : 0.40
        }
    ]
}
and want to get
{
    'searchResult' : [{
            'resultType' : 'station',
            'ranking' : 0.5
        }, {
            'resultType' : 'station',
            'ranking' : 0.4
        }, {
            'resultType' : 'station',
            'ranking' : 0.35
        }
    ]
}
Tried the code without success
result = sorted(result.items(), key=lambda k: k[1][0][1]["ranking"], reverse=True)
                If you are okay with changing the objects in-place.
a = {
    'searchResult' : [{
                       'resultType' : 'station',
                       'ranking' : 0.5
                      }, {
                       'resultType' : 'station',
                       'ranking' : 0.35
                      }, {
                      'resultType' : 'station',
                      'ranking' : 0.40
                      }]
  }
a["searchResult"].sort(key=lambda d: d["ranking"], reverse=True)
Or you can make a deep copy to keep the original
from copy import deepcopy
srt_dict = deepcopy(a)
srt_dict["searchResult"].sort(key=lambda d: d["ranking"], reverse=True)
                        You can simply do an inplace sort on the list, using key=itemgetter("ranking") and reverse=True:
from operator import itemgetter
d["searchResult"].sort(key=itemgetter("ranking"),reverse=True)
print(d)
{'searchResult': [{'resultType': 'station', 'ranking': 0.5}, {'resultType': 'station', 'ranking': 0.4}, {'resultType': 'station', 'ranking': 0.35}]}
                        You can just sort the list and write over itself in the dictionary.
result = {
    'searchResult' : [{
            'resultType' : 'station',
            'ranking' : 0.5
        }, {
            'resultType' : 'station',
            'ranking' : 0.35
        }, {
            'resultType' : 'station',
            'ranking' : 0.40
        }
    ]
}
result['searchResult'] = sorted(result['searchResult'], key= lambda x: x['ranking'], reverse=True)
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With