python 3.x 中 map ,sorted ,filter ,reduce 与lambda function 的混合使用案例



#python 中的几个内置函数使用学习,向潘石屹先生学习....

def sq(x):
    return x*x

print(map(sq,[y for y in range(10)]))
# map function 
# map() 会根据提供的函数对指定序列做映射。
# 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
# 语法 : map(function ,iterable,...) 可以接收多个序列 

# another function of lambda function 
p = map(lambda x,y:x*y,[1,2,3],[1,2,3])
print(list(p))
# Python 2.x 返回列表
# Python 3.x 返回迭代器
# wonderful 
print((lambda x:x**2)(3))

# 常用的python 内置函数
# map、filter、sorted、reduce
print(list(filter(lambda x:x%3==0,[1,2,3,4,5,6])))  # python3.0 return  an iterable object

# sorted 默认采用全局
print(sorted('sfsdwfegwwq'))  
s = sorted(['a', '1b', 'zzz'], key=len, reverse=True)
print(s)
a=[('b',3),('a',2),('d',4),('c',1)]
print(sorted(a,key=lambda x:x[0]))  
# the key is interesting ,awlsome

# reduce function 
from functools import reduce
# 在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 functools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:
x = reduce(lambda x, y: x+y, [1,2,3,4,5]) 
print(x) 
# comment:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。
# reduce() 函数会对参数序列中元素进行累积。








 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值