python六剑客

一、lambda匿名函数

lambda只是一个表达式,不是一个代码块
省略def关键字创建匿名函数

>>> a=lambda x:x+1
>>> a
<function <lambda> at 0x00000152DC440D38>
>>> type(a)
<class 'function'>
>>> a(1)
2
>>> a=lambda x,y,z:x+y+z
>>> a(1,2,3)
6

二、map()

Make an iterator that computes the function using arguments from each of the iterables. Stops when the shortest iterable is exhausted.
有道翻译:
制作一个迭代器,使用来自每个迭代器的参数来计算函数。当最短迭代器耗尽时停止。
map(func, *iterables)
func–>函数
*iterables–>可迭代序列
返回一个迭代器

>>> map(str,[1,2,3])
<map object at 0x00000152DC8A7BC8>
>>> list(map(str,[1,2,3]))
['1', '2', '3']
>>> a= map(lambda x:x+1,[1,2,3])
>>> list(a)
[2, 3, 4]
>>> a= map(lambda x,y:x+y,[1,2,3],[4,5,6])
>>> list(a)
[5, 7, 9]

>>> a= map(lambda x,y:x+y,[1,2,3],[6])
>>> list(a)
[7]

三、filter()

对序列做过滤处理

>>> list(filter(lambda x: x>2,[1,2,4]))
[4]

>>> filter(lambda x: x>2,[1,2,4])
<filter object at 0x00000152DC8B6888>

四、reduce()

用来将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给reduce中的函数 func()(必须是一个二元操作函数)先对集合中的第1, 2个数据进行操作,得到的结果再与第三个数据用func()函数运算,最后得到一个结果。

>>> reduce(lambda x,y:x+y,[1,2,3,4])
10

第一次:x=1,y=2,x+y=3 将3赋值给x
第二次:x=3,y=3,x+y=6 将6赋值给x
第三次:x=6,y=4,x+y=10

五、推导列表

>>> [x for x in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [x for x in range(10) if x>=5]
[5, 6, 7, 8, 9]
>>> a=[[1,2,3],[4,5,6]]
>>> [[i[j] for i in a] for j in range(3)]
[[1, 4], [2, 5], [3, 6]]

六、切片

>>> [4,2,7,5,8][2:4]
[7, 5]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值