【原创】python map

map同 reducefilterlambda也是相当巧妙的函数,但是map是返回一个list。
>>> nums=[1,2,3,4,6,7,8,1,4,7,8,5,2,45,756,7,6,74]
>>> reduce(lambda x,y:x+y,nums)
946
>>> map(lambda x:x%2==0,nums)
[False, True, False, True, True, False, True, False, True, False, True, False, True, False, True, False, True, True]
>>> 
>>> map(lambda x:x,nums)
[1, 2, 3, 4, 6, 7, 8, 1, 4, 7, 8, 5, 2, 45, 756, 7, 6, 74]
>>> 
>>> map(str,range(10))
['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
>>> map(lambda x:x%2==0,range(10))
[True, False, True, False, True, False, True, False, True, False]
>>> def fun(x):
if x%2==0:return x

>>> map(fun,range(10))
[0, None, 2, None, 4, None, 6, None, 8, None]
>>> 
还有一种巧妙的用法:
>>> x,y,z=map(str,raw_input().split())
tom tim jim
>>> x,y,z
('tom', 'tim', 'jim')
>>> x
'tom'

#求列表和,求每行的和
>>> ls=[[0,1,2],[3,4,5]]
>>> [sum(x) for x in ls]
[3, 12]
>>> map(sum,ls)
[3, 12]
#求列表和,求没列的和
>>> zip(ls)
[([0, 1, 2],), ([3, 4, 5],)]
>>> zip(*ls) # * 意为 unzip,一定注意这点
[(0, 3), (1, 4), (2, 5)]
>>> [sum(x) for x in zip(*ls)]
[3, 5, 7]
>>> map(sum,zip(*ls))
[3, 5, 7]


总结~~自己看例子吧

原创所有,转载请附明本文超链接地址以及作者。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值