#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() 函数会对参数序列中元素进行累积。