首先给大家推荐一个很好的python入门网站,感觉比《python基础》之类的书更容易懂,廖雪峰小站,希望有学习资源同学们也能多多交流。下面是今天所学:
下面总结一些非常有特色的函数及其应用:
1、map
函数用法: def func(x):
.......
l=[l0,l1,l2,l3,...] % 一个list
lout=map(func,l) % 每个元素经过func函数变换后的值输出得到lout
2、reduce
函数用法: reduce(func,l)=..func(func(func(l0,l1),l2),l3),..
类似迭代用法:
reduce 完成sum:
k=[1,2,3] kout=sum(k)
def add_(x1,x2):
return x1+x2
kout=reduce(add_,k)
3、还有一种很高效的计算表达:a1,b1=b1,a1+b1 这两个操作是同时进行的
4、生成器
为了解决list在大规模计算中需要占用很大内存空间的问题,在列表生成式出现了生成器,一边循环一边计算
列表生成式:h=[x*x for x in range(10)]
生成器: g=(x*x for x in range(10))
生成器输出: g.next()
5、filter 过滤函数(自称)
filter(func,l) func为True 输出 否则不输出
6、sorted函数可以自定义,这也是python是排序利器的原因吧
默认按照ASCII大小来排序,具体按照从小到大的顺序进行排序,机器通过识别两个相邻数相比输出为1时则前者大于后者,-1时则相反的规定进行排序