python对字典按key排序和按value排序。

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiaotao_1/article/details/81100107

  先上代码:

>>> d = {1:2, 3:4, 2:1, 5:3}
>>> d_k = sorted(d.items(), key=lambda x:x[0]) # 按key排序,lambda x:x[0]表示取要排序的第一个元素排序
>>> d_k
[(1, 2), (2, 1), (3, 4), (5, 3)]

>>> d_v = sorted(d.items(), key=lambda x:x[1]) # 按value排序,lambda x:x[1]表示取第二个元素进行排序
>>> d_v
[(2, 1), (1, 2), (5, 3), (3, 4)]

  看一下内置函数sorted详解:

>>> help(sorted)
Help on built-in function sorted in module builtins:

sorted(iterable, key=None, reverse=False)
    Return a new list containing all items from the iterable in ascending order.

    A custom key function can be supplied to customize the sort order, and the
    reverse flag can be set to request the result in descending order.

  sorted一共有iterable,key,reverse这三个参数。其中iterable表示可以迭代的对象,例如可以是dict.items()dict.keys()等,key是一个函数,用来选取参与比较的元素,reverse则是用来指定排序是倒序还是顺序,默认是顺序。

猜你喜欢

转载自blog.csdn.net/xiaotao_1/article/details/81100107