如何使用数据类型为list的值对Python字典进行排序

如何使用数据类型为list的值对Python字典进行排序,python,Python,这是一本字典 orders = {'Square': ['blue', 134684.0, 1026, 539], 'Circle': ['red', 284405.0, 442, 539], 'Triangle': ['red', 21699.0, 167, 392], 'Pentagon': ['green', 75563.0, 587, 332]} 该值的第二个元素是面积,例如正方形的面积是134684。我应该用那个面积值

这是一本字典

orders = {'Square': ['blue', 134684.0, 1026, 539], 
          'Circle': ['red', 284405.0, 442, 539], 
          'Triangle': ['red', 21699.0, 167, 392], 
          'Pentagon': ['green', 75563.0, 587, 332]}
该值的第二个元素是面积,例如正方形的面积是134684。我应该用那个面积值对整本字典进行排序。像智者一样,循环应该是第一位的

我试着用

sorted(orders.items(), key=lambda x: x[1], reverse=True) 
但是我不能在我的代码中很好地实现它


有人能帮我吗?

如果您想对字典中的条目进行排序,只需在键函数中添加另一个访问器[1],如下所示:

d = {'Square': ['blue', 134684.0, 1026, 539], 'Circle': ['red', 284405.0, 442, 539],
     'Triangle': ['red', 21699.0, 167, 392],
     'Pentagon': ['green', 75563.0, 587, 332]}

result = sorted(d.items(), key=lambda x: x[1][1], reverse=True)
print(result)
输出


如果要对字典中的项进行排序,只需向键函数添加另一个访问器[1],如下所示:

d = {'Square': ['blue', 134684.0, 1026, 539], 'Circle': ['red', 284405.0, 442, 539],
     'Triangle': ['red', 21699.0, 167, 392],
     'Pentagon': ['green', 75563.0, 587, 332]}

result = sorted(d.items(), key=lambda x: x[1][1], reverse=True)
print(result)
输出

您需要访问x[1]:

要将其写入原始目录:

orders = dict(sorted(orders.items(), key=lambda x: x[1][1], reverse=True))
输出:

{'Circle': ['red', 284405.0, 442, 539],
 'Square': ['blue', 134684.0, 1026, 539],
 'Pentagon': ['green', 75563.0, 587, 332],
 'Triangle': ['red', 21699.0, 167, 392]}
您需要访问x[1]:

要将其写入原始目录:

orders = dict(sorted(orders.items(), key=lambda x: x[1][1], reverse=True))
输出:

{'Circle': ['red', 284405.0, 442, 539],
 'Square': ['blue', 134684.0, 1026, 539],
 'Pentagon': ['green', 75563.0, 587, 332],
 'Triangle': ['red', 21699.0, 167, 392]}

dataset=sorteddata.items,key=lambda x:x[1][1]
printdataset

dataset=sorteddata.items,key=lambda x:x[1][1]
printdataset

很好,但是您需要使用dictGreat将输出转换为dictionary,但是您需要使用dict将输出转换为dictionary