• python 基础便利操作


    python 便利操作

    列表推导式

    通常我们生成一个列表:

    def fun(x):
        return x ** 2
    l = []
    for i in range(5):
        l.append(fun(i))
    
    • 1
    • 2
    • 3
    • 4
    • 5

    实际上可以通过列表推导式来进行简化:[* for i in *]

    [fun(i) for i in range(5)]
    
    • 1

    同时,列表推导式还支持多层嵌套:

    In:	[m + '_' + n for m in ['a','b'] for n in ['v','e']]
    Out:['a_v', 'a_e', 'b_v', 'b_e']
    
    • 1
    • 2

    条件赋值

    举一个例子,截断列表中超过5的元素,即超过5的用5代替,小于5的保留原来的值:

    In:		L = [1, 2, 3, 4, 5, 6, 7]
    		[i if i <= 5 else 5 for i in L]
    Out:	[1, 2, 3, 4, 5, 5, 5]
    
    • 1
    • 2
    • 3

    匿名函数与map方法

    函数的定义一般具有清晰的映射关系,我们可以用匿名函数的方式进行简洁的表示

    fun = lambda x : x ** 2
    
    • 1

    但显然我们违背了“匿名” 的 含义,许多场合我们无需多处调用一个函数,所以我们往往不会关心函数的名字,只关心函数的映射关系。

    (lambda x: x ** 2)(8)
    
    • 1
    [(lambda x: x ** 2)(i) for i in range(5)]
    
    • 1

    而上述关于列表推导式的匿名函数映射,我们通过map函数来实现。map返回一个map对象,需要通过list转化为列表

    list(map(lambda x, y:str(x)+"_"+y,range(5),list('abcde')))
    
    • 1

    zip 对象与 enumerate 方法

    • zip函数能够把多个可迭代对象打包成一个元组构成的可迭代对象,它返回了一个zip对象,通过tuple, list可以得到相应的打包结果
    l1 = ('avd')
    l2 = ('efsf')
    list(zip(l1,l2))
    
    • 1
    • 2
    • 3
    [('a', 'e'), ('v', 'f'), ('d', 's')]
    
    • 1
    for i,v in zip(range(len(l)),l):
        print(i,' ',v,)
    
    • 1
    • 2
    0   a
    1   v
    2   r
    3   d
    
    • 1
    • 2
    • 3
    • 4
    • enumerate是一种特殊的打包,它可以在迭代时绑定迭代元素的遍历序号
    l = list('avrd')
    for i, v in enumerate(l):
        print(i,v)
    
    • 1
    • 2
    • 3
    0   a
    1   v
    2   r
    3   d
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    ZooKeeper系统模型
    力扣 593. 有效的正方形
    ERP管理系统的重要性
    Maven创建springboot项目,HelloWorld
    计算机网络(43)
    CAD中的超级修剪功能、使用CAD旋转命令绘制图形
    会议OA(会议排座&送审)
    swift界面初体验
    Linux、Ubuntu、CenterOS、RedHat、Debian、AIpine关系和区别?
    2022前端面试题上岸手册-javsScript部分
  • 原文地址:https://blog.csdn.net/weixin_64632836/article/details/127695584