zoukankan      html  css  js  c++  java
  • python之 《zip,lambda, map》

    1.zip

      对于zip我们一般都是用在矩阵上

    eg:

    a = [1,2,3]
    b = ['a', 'b', 'c']
    x = zip(a, b)
    print(x)
    print(list(x))

    结果是

    <zip object at 0x000002150D755DC8>
    [(1, 'a'), (2, 'b'), (3, 'c')]

    可以看到我们是分别将第一个合并到一起

    所以我们对列表切片一下来看一下效果

    c = zip(a[:-1], a[1:])

    那么他对应的结果也是

    c = zip(a[:-1], a[1:])

    nums = ['flower','flow','flight'] for i in zip(*nums): print(i)

    结果是:
    ('f', 'f', 'f')
    ('l', 'l', 'l')
    ('o', 'o', 'i')
    ('w', 'w', 'g')
    *num就是反解的意思

    2.lambda
    我们举个简单的例子

    g = lambda x: x+2
    print(g(8))

    那么在这里面呢我们可以看到lambda也是一个函数lambda对应的是一个比较简单的函数:前面是我们要输入的数字 后面是我们要做的一个简单的计算

    此时输出的就是8 了

    3.map

    >>>def square(x) :            # 计算平方数
    ...     return x ** 2
    ... 
    >>> map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
    [1, 4, 9, 16, 25]
    >>> map(lambda x: x ** 2, [1, 2, 3, 4, 5])  # 使用 lambda 匿名函数
    [1, 4, 9, 16, 25]
     
    # 提供了两个列表,对相同位置的列表数据进行相加
    >>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
    [3, 7, 11, 15, 19]

    look this 他和lambda结合起来可以做更多的事情当然 也不一定是lambda也可以是其他的任意函数

    来控制我们的输入

  • 相关阅读:
    少写代码帮你模块化方法 & 运动框架 & 简化轮播图
    JQ
    弹框&可用于判断
    移动端内容区域滚动做法总结
    数组这回事
    Bootstrap & 响应式
    谈谈this对象
    模态框中水平垂直居的问题
    图片的懒加载问题
    js中运动框架的封装
  • 原文地址:https://www.cnblogs.com/BookMiki/p/10192414.html
Copyright © 2011-2022 走看看