切片
1 | L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack'] |
也可以用一行代码实现
1 | 0:3] > L[ |
注:字符串也可以看成一种list
迭代
1 | >>> for x, y in [(1, 1), (2, 4), (3, 9)]: |
列表生成式
1 | 1, 11)) list(range( |
生成器(generator)
1 | >> L = [x * x for x in range(10)] |
generator保存的是算法,每次调用next(g),就计算出g的下一个元素的值,直到计算到最后一个元素,没有更多的元素时,抛出StopIteration的错误。
当然,上面这种不断调用next(g)实在是太变态了,正确的方法是使用for循环,因为generator也是可迭代对象:
1 | for x in range(10)) g = (x * x |