Python整理一个复杂的字典

Python整理一个复杂的字典,python,dictionary,Python,Dictionary,我列了一张单子 数据=[{类型:房屋,成本:500,额外:假,订单:1}, {类型:公寓,成本:40,额外:假,订单:4}, {类型:房屋,成本:120,额外:正确,订单:2}, {类型:房屋,成本:800,额外:正确,订单:3}] 并希望按顺序键对数据进行排序 你会怎么处理 您不是在对词典进行排序,而是在对词典列表进行排序 试试这个: data = [{"type":"house", "cost":500, "extra":False, "order":1}, {"type":"condo"

我列了一张单子

数据=[{类型:房屋,成本:500,额外:假,订单:1}, {类型:公寓,成本:40,额外:假,订单:4}, {类型:房屋,成本:120,额外:正确,订单:2}, {类型:房屋,成本:800,额外:正确,订单:3}] 并希望按顺序键对数据进行排序


你会怎么处理

您不是在对词典进行排序,而是在对词典列表进行排序

试试这个:

data = [{"type":"house", "cost":500, "extra":False, "order":1}, 
{"type":"condo", "cost":40, "extra":False, "order":4}, 
{"type":"house", "cost":120, "extra":True, "order":2}, 
{"type":"house", "cost":800, "extra":True, "order":3}]

length = len (data)
for index1 in range (length) :
    for index2 in range (length) :
        if data [index2]['order'] > data [index1]['order'] :
            data [index2], data [index1] = data [index1], data [index2]
print (data)
如果要对词典列表进行排序,请尝试以下操作:

数据=[ {类型:house,成本:500,额外:False,订单:1}, {类型:公寓,成本:40,额外:假,订单:4}, {类型:房屋,成本:120,额外:正确,订单:2}, {类型:房屋,成本:800,额外:正确,订单:3}, ] data.sortkey=lambda x:x[order]按order的值排序
如果您想对列表中每个字典中的键进行排序,则必须使用OrderedDict。

现在开始:这是否回答了您的问题?