在Python中按子值对dict进行排序 [英] Sort dict by sub-value in Python
本文介绍了在Python中按子值对dict进行排序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我花了一些时间阅读 SOF 并且在解决这个问题时遇到了问题.我似乎无法找到如何按子值排序以下数据结构:
data = {}数据[1] = {名称:鲍勃",...}数据[2] = {名称:卡尔",...}数据[3] = {nane:爱丽丝",...}
我需要将这些数据转换成某种形式的按字母顺序排列的列表/元组/顺序字典结构,以便最终结果是这样的:
finalData = [{name: "Alice", ...}, {name: "Bob", ...}, {name: "Carl", ...}]
谢谢.
解决方案
你的意思是这样的
sorted(data.values(), key=itemgetter(name))
<小时><预><代码>>>>from 操作符导入 itemgetter>>>数据 = {}>>>姓名 = '姓名'>>>>>>数据[1] = {名称:鲍勃"}>>>数据[2] = {名称:卡尔"}>>>数据[3] = {名称:爱丽丝"}>>>>>>排序(数据.值(),键=itemgetter(名称))[{'name': 'Alice'}, {'name': 'Bob'}, {'name': 'Carl'}]
I spent some time reading on SOF and am having issues solving this problem. I cannot seem to find how to get the following data structure sorted by the sub-value:
data = {}
data[1] = {name: "Bob", ...}
data[2] = {name: "Carl", ...}
data[3] = {nane: "Alice", ...}
I need to get this data into some form of a list/tuple/order dict structure which is alphabetized so that the final result is something like this:
finalData = [{name: "Alice", ...}, {name: "Bob", ...}, {name: "Carl", ...}]
Thanks.
解决方案
Do you mean something like
sorted(data.values(), key=itemgetter(name))
>>> from operator import itemgetter
>>> data = {}
>>> name = 'name'
>>>
>>> data[1] = {name: "Bob"}
>>> data[2] = {name: "Carl"}
>>> data[3] = {name: "Alice"}
>>>
>>> sorted(data.values(), key=itemgetter(name))
[{'name': 'Alice'}, {'name': 'Bob'}, {'name': 'Carl'}]
这篇关于在Python中按子值对dict进行排序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文