版权声明:本文为博主原创文章,转载请注明出处! https://blog.csdn.net/PoGeN1/article/details/84192838
一、zip
zip
函数接受任意多个(包括0个和1个)序列作为参数,合并后返回一个tuple
列表,请看示例:
a=[1,2,3]
b=[4,5,6]
ab=zip(a,b)
print(list(ab))#需要加list来可视化这个功能
输出:
[(1, 4), (2, 5), (3, 6)]
zip 中的运算
a=[1,2,3]
b=[4,5,6]
ab=zip(a,b)
for i,j in zip(a,b):
print(i/2,j*2)
输出:
0.5 8
1.0 10
1.5 12
二、lambda
lambda定义一个简单的函数,实现简化代码的功能,类似于c/c++
中的宏定义:#define SQR (x) x * x
。看代码会更好理解。
fun = lambda x,y : x+y
, 冒号前的x
,y
为自变量,冒号后x+y
为具体运算。
func=lambda x,y:x+y
x=int(input('x='))
y=int(input('y='))
print(func(x,y))
输入x``y
的值后输出x+y
x=2
y=4
6
三、map
map()
是Python
内置的高阶函数,它接收一个函数f
和一个 list
,并通过把函数 f
依次作用在list
的每个元素上,得到一个新的 list
并返回。,看下面的程序:
def mult(x):
return x*x
print(list(map(mult,[1,2,3,4,5,6,7,8,9])))
输出结果:
[1, 4, 9, 16, 25, 36, 49, 64, 81]
注意:map()
函数不改变原有的list
,而是返回一个新的list
。
利用map()
函数,可以把一个list
转换为另一个list
,只需要传入转换函数。
扫描二维码关注公众号,回复:
4129152 查看本文章
由于list
包含的元素可以是任何类型,因此,map()
不仅仅可以处理只包含数值的 list
,事实上它可以处理包含任意类型的 list
,只要传入的函数f
可以处理这种数据类型。