zoukankan      html  css  js  c++  java
  • (八)lambda、列表生成式、字典转list排序

    1、函数返回多个值:

      1)函数如果return多个值的话,会把返回的这几个值放在一个元组里面

    def say():
        num1 = 1
        num2 = 2
        num3 = 3
        return num1,num2,num3
    res = say()
    print(res)
    
    >>> (1, 2, 3)

      2)函数如果return多个值的话,可以用多个变量来分别接收

    def say():
        num1 = 1
        num2 = 2
        num3 = 3
        return num1,num2,num3
    res1,res2,res3 = say()
    print(res1)   #>>>1
    print(res2)   #>>>2
    print(res3)   #>>>3

    2、lambda:匿名函数,函数功能很简单,只用一次,不需要定义

    res = lambda x:x+1  #冒号前面的是返回值,冒号后面是函数体,也是函数的处理逻辑
    print(res(1))
    
    >>> 2

    3、列表生成式(列表)

    l = [i for i in range(1,101,2)]
    
    l = [i for i in range(1,101) if i%2==1]  #或者这样写
    print(l)
    
    >>>[1, 3, 5, 7, 9...]

    如果列表生成式外面是()的形式:l就不是list了,而是一个生成器

    l = (i for i in range(1,101) if i%2==1)
    print(l)  #l是一个生成器
    
    #print(l.__next__())   #生成器调用一次取一个值
    
    for i in l:   
        print(i)
    
    >>> <generator object <genexpr> at 0x00BFD8C8>
    >>>1 3 5 7 9...

    #生成器每次循环时会按照规则只计算出一个元素,放在内存中,比list省内存

    #list是把所有的元素都放在内存里面

    4、三元表达式

    a = 5
    b = 4
    c = a if a>b else b   #三元表达式
    print(c)
    
    不用三元表达式就是如下:
    
    a = 5
    b = 4
    if a>b:
        c = a
    else:
        c = b
    print(c)

    5、字典是无序的,直接对字典排序是不存在的。先要把字典转成list再排序

    #sorted():每次自动循环取二维数组里面的元素

    d = {'a':5,'b':2,'c':3}
    print(d.items())    #得到一个二维数组
    res = sorted(d.items(),key=lambda x:x[0]) #key=字典的key值,进行排序
    
    res = sorted(d.items(),key=lambda x:x[1])  #根据字典的value进行排序
    print(res)
    
    >>> dict_items([('b', 2), ('a', 5), ('c', 3)])
    >>> [('a', 5), ('b', 2), ('c', 3)]

    循环时取多个:

    l = [ [1,2,3],[3,4,5],[5,6,7] ]
    for a,b,c in l:  #a,b,c是3个,上面的小list每个也要包含3个元素?
        print(a,b,c)

    6、定义函数时,告诉别人应该传什么类型的参数

    def is_float(s:str):
        pass

     

  • 相关阅读:
    springmvc始终跳转至首页,不报404错误
    c3p0数据库连接池无法连接数据库—错误使用了username关键字
    maven无法下载依赖jar包—几种仓库的区别
    Goland开发工具安装教程
    Go语言代码规范指导
    go语言入门教程:基本语法之变量声明及注意事项
    为什么越来越多的人偏爱go语言
    go语言入门教程:基本语法—常量constant
    go语言入门教程:基本语法之数据类型
    三分钟了解Go语言的前世今生
  • 原文地址:https://www.cnblogs.com/chenhongl/p/8989399.html
Copyright © 2011-2022 走看看