网站模板 餐饮,网站建设投资预算,椒江网站建设578做网站,服装 网站规划方案python的理念是#xff1a;简单、优雅。所以#xff0c;在Python中集成了许多经常要使用的高级特性#xff0c;以此来简化代码。 切片#xff1a;对于一个list或者tuple#xff0c;取其中一段的元素#xff0c;称为切片#xff08;Slice#xff09;。 L[start:end]表示… python的理念是简单、优雅。所以在Python中集成了许多经常要使用的高级特性以此来简化代码。 切片 对于一个list或者tuple取其中一段的元素称为切片Slice。 L[start:end]表示取L中从索引号为start到end的元素其中如果顺着取则索引号范围为0~lenL-1反着取则索引号范围为-1~-lenL。 迭代 Python中迭代用for...in来完成。对于list或者tuple就是for name in names之类而对于dict就是for k, v in d.iteritems()其中k, v分别表示key和value。 列表生成式 简单的列表可以用內建函数range()直接生成 range(start, end, step)第一个参数表示起始值第二个参数表示结束值加一第三个值表示步长默认值为1. 对于复杂的列表使用range配合for...in和表达式来生成如 [x * x for x in range(1, 11)]
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100] 后面还可以加判断 [x * x for x in range(1, 11) if x % 2 0]
[4, 16, 36, 64, 100] 依据表达式的不同还有如下变形 d {x: A, y: B, z: C }[k v for k, v in d.iteritems()]
[yB, xA, zC] L [Hello, World, IBM, Apple][s.lower() for s in L]
[hello, world, ibm, apple] 生成器 直接生成一个list会占用大量的内存而生成器是依据某种算法依次推算出每个值。 创建一个生成器有两种方法第一种将[]改成()如 L [x * x for x in range(10)]L
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]g (x * x for x in range(10))g
generator object genexpr at 0x104feab40 调用时使用next()方法 g.next()
0g.next()
1g.next()
4g.next()
9g.next()
16g.next()
25g.next()
36g.next()
49g.next()
64g.next()
81g.next()
Traceback (most recent call last):File stdin, line 1, in module
StopIteration 推算完后再调用会抛出StopIteration的错误。另外可以用for...in来迭代输出。 第二种将创建函数时的return换成yield。 def fib(max):n, a, b 0, 0, 1while n max:yield ba, b b, a bn n 1 generator在执行时在每次调用next()的时候执行遇到yield语句返回再次执行时从上次返回的yield语句处继续执行。 def odd():
... print step 1
... yield 1
... print step 2
... yield 3
... print step 3
... yield 5
...o odd()o.next()
step 1
1o.next()
step 2
3o.next()
step 3
5o.next()
Traceback (most recent call last):File stdin, line 1, in module
StopIteration 注本文为学习廖雪峰Python入门整理后的笔记转载于:https://www.cnblogs.com/likely-kan/p/7496247.html