廖雪峰python学习笔记4:高级特性
2016-07-12 10:15
597 查看
# -*- coding: utf-8 -*- #切片 #如何取一个list或tuple的部分元素? #和切片一比,循环很麻烦 L = ['Michael', 'Sarah', 'Tracy', 'Leo'] S = [] #L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3,就是取三个的意思 S = L[0:3] print(S) #后3个数 S = L[-3:] print(S) #迭代 for i in L: print(i) #其中i为迭代器 #带序号的迭代 : enumerate 动词,枚举 for i, value in enumerate(L): print(i, value) #列表生成式 #要生成list[1, 2, 3, 4, 5, 6, 7, 8, 9] print(list(range(1, 10))) #但如果要生成[1x1, 2x2, 3x3, ..., 10x10]怎么做? #列表生成式可以用一行语句代替循环生成上面的list print([x * x for x in range(1,10)]) #for循环后面还可以加上if判断,这样我们就可以筛选出仅偶数的平方: print([x * x for x in range(1, 11) if x % 2 == 0]) #还可以使用两层循环,可以生成全排列: print([m + n for m in 'ABC' for n in 'XYZ']) #生成器generator #有点像动态数组,把列表生成器的[] 改成 () 就成了generator g = (x * x for x in range(1,10)) print(g) #输出结果:<generator object <genexpr> at 0x7f98b221c2b0> #如何把generator的元素顺序输出呢? for n in g: print(n) #作业:杨辉三角 def print_yang: pass #迭代器 #Python的for循环本质上就是通过不断调用next()函数实现的,例如: for x in [1, 2, 3, 4, 5]: pass # 首先获得Iterator对象: it = iter([1, 2, 3, 4, 5]) # 循环: while True: try: # 获得下一个值: x = next(it) except StopIteration: # 遇到StopIteration就退出循环 break
相关文章推荐
- Python动态类型的学习---引用的理解
- Python3写爬虫(四)多线程实现数据爬取
- 垃圾邮件过滤器 python简单实现
- 下载并遍历 names.txt 文件,输出长度最长的回文人名。
- install and upgrade scrapy
- Scrapy的架构介绍
- Centos6 编译安装Python
- 使用Python生成Excel格式的图片
- 让Python文件也可以当bat文件运行
- [Python]推算数独
- Python中zip()函数用法举例
- Python中map()函数浅析
- Python将excel导入到mysql中
- Python在CAM软件Genesis2000中的应用
- 使用Shiboken为C++和Qt库创建Python绑定
- FREEBASIC 编译可被python调用的dll函数示例
- Python 七步捉虫法