上几篇文章分别对Python的基础语法及小型项目进行介绍,接下来对Python的高级用法进行总结。这篇文章将会包括:迭代,列表,map()/reduce(),sorted(),生成器,过滤器,正则表达式等相关内容。
#Python高级特性--迭代
#如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple这种遍历我们称为迭代。
#在Python中,迭代是通过for ... in来完成的
#字典的迭代
d={'2':2,'3':3}
for key,value in d.items():#for key in d or for value in d.values()
print(key)
for x, y in [(1, 1), (2, 4), (3, 9)]:
print(x, y)
#如果要对list实现类似Java那样的下标循环怎么办?
#Python内置的enumerate函数可以把一个list变成索引-元素对,这样就可以在for循环中同时迭代索引和元素本身:
for i, value in enumerate(['A', 'B', 'C']):
print(i, value)
#Python高级特性--列表生成式
l=[x * x for x in range(1, 11)
l=[x * x for x in range(1, 11) if x % 2 == 0]
#还可以使用两层循环,可以生成全排列:
l=[m + n for m in 'ABC' for n in 'XYZ']
#列出当前目录下的所有文件和目录名,可以通过一行代码实现:
import os # 导入os模块,模块的概念后面讲到
[d for d in os.listdir('.')] # os.listdir可以列出文件和目录
#Python高级特性--生成器
#列表受内存限制容量是有限的,从而产生边循环边计算的机制:生成器(generator)
#Python高阶函数map及reduce
def f(x):
return x * x
r = map(f, [1, 2, 3,