zoukankan      html  css  js  c++  java
  • python sorted函数

    描述

      sorted() 函数可以对所有可迭代的对象进行排序操作,sort ()函数只能应用在 list 上

    sorted语法

      sorted(iterable[, cmp[, key[, reverse]]])

    参数说明

    • iterable -- 可迭代对象
    • cmp -- 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于则返回1,小于则返回-1,等于则返回0
    • key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序
    • reverse -- 排序规则,reverse = True 降序 , reverse = False 升序(默认)

    返回值

      返回重新排序的列表

    a = '255.255.255.255'
    b = '200.10.190.30'
    c = '123.245.90.30'
    d = '18.9.100.20'
    e = '245.90.20.10'
    # 按照IP地址的第三段进行排序
    print(sorted((a,b,c,d,e), key=lambda str: int(str.split('.')[2])))
    # ['245.90.20.10', '123.245.90.30', '18.9.100.20', '200.10.190.30', '255.255.255.255']
    L=[('b',2),('a',1),('c',3),('d',4)]
    print(sorted(L, cmp=lambda x,y:cmp(x[1],y[1])))   # 利用cmp函数,cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
    # [('a', 1), ('b', 2), ('c', 3), ('d', 4)]

    设计模式

      函数式编程思想:sorted排序,排序说简单点就是比较两个参数的大小,sorted的精妙之处在于哪个参数大哪个参数小,sorted它不去负责给你解释,它要求你传递一个函数进来,这个函数的返回结果决定了两个参数的大小,它将具体的逻辑控制交给了sorted的调用方,又或者要求你传递一个函数进来,这个函数的返回结果决定了sorted函数根据哪个字段进行排序

  • 相关阅读:
    hdu1151 二分图(无回路有向图)的最小路径覆盖 Air Raid
    二分图多重匹配问题
    二分图最大匹配问题及其扩展
    ZOJ3741 状压DP Eternal Reality
    POJ2699:The Maximum Number of Strong Kings(枚举+贪心+最大流)
    POJ2396:Budget(带下界的网络流)
    POJ2391:Ombrophobic Bovines(最大流+Floyd+二分)
    POJ1637:Sightseeing tour(混合图的欧拉回路)
    URAL1277 Cops and Thieves(最小割)
    Leetcode 44. Wildcard Matching
  • 原文地址:https://www.cnblogs.com/xyz2b/p/10513771.html
Copyright © 2011-2022 走看看