码迷,mamicode.com
首页 > 编程语言 > 详细

python之 《zip,lambda, map》

时间:2018-12-28 19:53:24      阅读:160      评论:0      收藏:0      [点我收藏+]

标签:nbsp   控制   col   列表切片   ted   输出   str   obj   一个   

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

来控制我们的输入

 

python之 《zip,lambda, map》

标签:nbsp   控制   col   列表切片   ted   输出   str   obj   一个   

原文地址:https://www.cnblogs.com/BookMiki/p/10192414.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!