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也可以是其他的任意函数

来控制我们的输入

猜你喜欢

转载自www.cnblogs.com/BookMiki/p/10192414.html