python用map提取一个数的个十百位数_python 练习用python六剑客实现一个统计数字的个数,六剑客:(map、lambda、reduce、filter、切片、推到列表)...

统计一共有几个数字

s="sdfa45ads46723"

#lambda

>>> filter(lambda x:x.isdigit(),list(s))

['4', '5', '4', '6', '7', '2', '3']

>>> len(filter(lambda x:x.isdigit(),list(s)))

7

>>> reduce(lambda x,y:x+y,map(lambda x:x.isdigit(),list("sdfa45ads46723")))

7

>>> reduce(lambda x,y:x+y,map(lambda x:len(x),filter(lambda x:x.isdigit(),[i for i in s][::-1])))

7

列表的切片还是列表,如果取一个元素就是元素本身类型

>>> a=[1,2]

>>> a[0]

1

>>> a[0:1]

[1]

Map的作用

将每个列表元素都按表达式分别运算

Reduce()累加操作

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

6

X=1,y=2

结果3传给y

X从第二次开始存结果

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

x=1,y=2,y=2

x=5,y=3,y=3

11

x是5就对了

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

1+1+2=4

4+4+3=11

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值