zoukankan      html  css  js  c++  java
  • python3学习之lambda+sort

    1 >>> pairs = [(1, 'one'), (2, 'two'), (3, 'three'), (4, 'four')]
    2 
    3 >>> pairs.sort(key=lambda pair: pair[1])
    4 
    5 >>> pairs
    6 
    7 [(4, 'four'), (1, 'one'), (3, 'three'), (2, 'two')]

    python文档中看了lambda+sort的这个语法,表示很疑惑,

    于是查资料了解到:

    这个表示用list中第二个参数即'one'作为排序的依据。

    sort()函数用法:函数sort()会默认地按升序排列,能否让sort()函数按我们想要的排列方式进行排列呢?

    sort()函数原型: list.sort(key=None, reverse=False);sort中有两个参数;

    (1) key参数 :
    key接受的是一个只有一个形参的函数,形式如下

    list = ['a','bbb','cc']
    1
    def compare(a): 2   return len(a)
    3 list.sort(key=compare)
    4 print(list) #输出['a','cc','bbb']

    key接受的函数返回值,表示此元素的权值,sort将按照权值大小进行排序 

    (2) reverse参数 :

    reverse接受的是一个bool类型的值 (Ture or False),表示是否颠倒排列顺序,一般默认的是False,注意第一个字母是大写的 


    # ###################### 普通函数 ######################
    # 定义函数(普通方式)
    def func(arg):
        return arg + 1
      
    # 执行函数
    result = func(123)
      
    # ###################### lambda ######################
      
    # 定义函数(lambda表达式)
    my_lambda = lambda arg : arg + 1
      
    # 执行函数
    result = my_lambda(123)
    
    
    
     
  • 相关阅读:
    深入理解虚拟机、容器和Hyper技术
    Hyper:基于Hypervisor的容器化解决方案
    iSCSI 在Linux下的模拟实验
    C-RAN
    spring mvc
    DUBBO
    ajax跨域请求 小栗子 jsonP
    freemarker 页面静态化 简单小栗子
    ajax上传图片监听
    代码优化 粘贴
  • 原文地址:https://www.cnblogs.com/lelexiong/p/8991072.html
Copyright © 2011-2022 走看看