我有以下结构
{ 'searchResult' : [{ 'resultType' : 'station','ranking' : 0.5 },{ 'resultType' : 'station','ranking' : 0.35 },'ranking' : 0.40 } ] }
并希望得到
{ 'searchResult' : [{ 'resultType' : 'station','ranking' : 0.4 },'ranking' : 0.35 } ] }
尝试了代码没有成功
result = sorted(result.items(),key=lambda k: k[1][0][1]["ranking"],reverse=True)
解决方法
如果您可以就地更改对象.
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)
或者你可以制作一份深层拷贝以保留原件
from copy import deepcopy srt_dict = deepcopy(a) srt_dict["searchResult"].sort(key=lambda d: d["ranking"],reverse=True)