在Python中按键或值按升序和降序对字典排序

问题陈述:编写一个Python程序以按键或值对字典进行排序(升序和降序)。

示例

    Input: 
    dictionary = {'carl':40,'alan':2,'bob':1,'danny':3}

    Output:
    Ascending order is  {'alan': 2, 'bob': 1, 'carl':40), 'danny':3}
    Descending order is {'danny': 3, 'carl': 40, 'bob': 1, 'alan':2}

算法:

  1. 拿字典。

  2. 将其转换为列表。

  3. 现在,按升序或降序对列表进行排序。

  4. 再次转换将排序后的列表转换成字典。

  5. 打印输出

Python代码按升序和降序对字典进行排序

#您可以将输入也视为整数,这也是'
#也将为此工作,例如:{1:2,3:4,4:3,2:1,0:0}
y={'carl':40,'alan':2,'bob':1,'danny':3} 
                                         
l=list(y.items())   #迷恋给定的命令。进入清单
#在Python字典中,items()方法用于返回列表
#带有值的所有字典键。
l.sort()            #排序列表
print('Ascending order is',l) #此打印排序列表 

l=list(y.items())
l.sort(reverse=True) #反向排序
print('Descending order is',l)

dict=dict(l) # 转换字典中的列表 

print("Dictionary",dict) #所需的输出是此排序字典

输出结果

Ascending order is [('alan', 2), ('bob', 1), ('carl', 40), ('danny', 3)]
Descending order is [('danny', 3), ('carl', 40), ('bob', 1), ('alan', 2)]
Dictionary {'bob': 1, 'carl': 40, 'alan': 2, 'danny': 3}

代码说明:

在这里,我们只学习如何按键或值对字典进行排序。因此,最好的方法是将整个词典转换为列表。为了进行转换,我们使用了l = list()y.items()

这里的一个重要功能是items()。这是什么?

因此,在Python字典中,items()方法用于返回带有所有带有值的字典键的列表。

现在,在那之后,我们使用Sort函数,即 l.sort()

对列表进行排序,然后重要的一点是,通过dict =将列表再次转换为Dictionarydict(l)

因此,在此之后,我们将按升序获得排序后的Dictionary。

为了以降序执行所有这些操作,只需做一件事i.e而不是l.sort()

使用l.sort(reverse = True)您将获得降序排序的字典。