zoukankan      html  css  js  c++  java
  • python 字典、数组排序

    一、字典排序

    1、利用key排序

    d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
    for k in sorted(d):
        print(k,d[k])

    d1 2
    d2 4
    d3 3
    d4 1

    2、利用value排序:__getitem__

    d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
    for k in sorted(d,key=d.__getitem__):
        print(k,d[k])

    d4 1
    d1 2
    d3 3
    d2 4

    反序:reverse=True

    d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
    for k in sorted(d,key=d.__getitem__,reverse=True):
        print(k,d[k])

    d2 4
    d3 3
    d1 2
    d4 1

    3、对dict_items进行排序

    d = {'d1':2, 'd2':4, 'd4':1,'d3':3,}
    res = sorted(d.items(),key=lambda d:d[1],reverse=True)
    print(res)

     [('d2', 4), ('d3', 3), ('d1', 2), ('d4', 1)]

    二、数组排序

    1.使用内置函数list.sort()

    复制代码
    1 class Solution:
    2     """
    3     @param: A: an integer array
    4     @return: 
    5     """
    6     def sortIntegers(self, A):
    7         A.sort()
    复制代码

    2.使用sorted() 函数

    1 sorted([5, 2, 3, 1, 4])
    2 [1, 2, 3, 4, 5]

    注:sorted()与list.sort()的不同:

      1)list.sort() 方法返回none,sorted()返回结果

      2)list.sort() 方法只可以供列表使用,而 sorted() 函数可以接受任意可迭代对象(iterable)

    1 sorted({1: 'D', 2: 'B', 3: 'B', 4: 'E', 5: 'A'})
    2 [1, 2, 3, 4, 5]

     3、指定位置元素排序

    # 获取列表的第二个元素
    def takeSecond(elem):
        return elem[1]
     
    # 列表
    random = [(2, 2), (3, 4), (4, 1), (1, 3)]
     
    # 指定第二个元素排序
    random.sort(key=takeSecond)

    参考:

    https://www.cnblogs.com/xnwjx/p/8352676.html

    https://www.cnblogs.com/kilometerwine/p/9712329.html

  • 相关阅读:
    xshell安装错解决方案
    (转)进程process和线程thread的关系
    selenium Gird
    python发布文件(windows)
    (转)ci
    selenium通过python字典获取配置
    selenium断言的分类
    C#从Image上读取文本
    C#屏幕截图
    WPF实现TextBox水印效果
  • 原文地址:https://www.cnblogs.com/51python/p/12088760.html
Copyright © 2011-2022 走看看