带有浮点值的Python排序关联数组

时间:2018-07-21 13:59:26

标签: python arrays list associative

我有一个要排序的关联数组

  items = {1: [5, 30, 0.16666666666666666], 2: [10, 20, 0.5]}

我想按浮点值降序对项目进行排序,因此排序后我应该得到

 items = {2: [10, 20, 0.5], 1: [5, 30, 0.16666666666666666]} 

请注意,我主要要对这些0.16666666666666666和0.5进行排序

欢迎任何帮助!

1 个答案:

答案 0 :(得分:1)

您需要根据dict的排序项创建新的items

items = {k: v for k, v in sorted(items.items(), reverse=True)}

请注意,这仅适用于Python 3.6+,并且该命令肯定是插入顺序。我建议改用listOrderedDict

示例:

>>> items = {1: [5, 30, 0.16666666666666666], 2: [10, 20, 0.5]}
>>> items = {k: v for k, v in sorted(items.items(), reverse=True)}    
>>> items
{2: [10, 20, 0.5], 1: [5, 30, 0.16666666666666666]}