切片

在列表中取前三个元素,例如list[1,2,3,4,5]取前三个元素就是012下标的元素,list[0:3] 也可以查出后3个数,list[-3:0]

迭代

给定一个list或者tuple,通过循环的方式遍历这个list或者tuple,叫做迭代。

for   in 来完成

只要是可迭代对象,无论其是否具有下标,都可以进行迭代。比如字典dict、字符串

列表生成器

列表生成器和列表生成式的区别在于前者符号为(),后者符号为[]

列表生成器实现杨辉三角
def triangles():
    i=1
    list1=[1]
    yield list1
    i=2
    list2=[1,1]
    yield list2
    list1=list2
    while i<=10:
        i+=1
        list2=[0 for i in range(0,i)]
        list2[0]=1
        list2[-1]=1
        for j in range(1,i-1):
            list2[j]=list1[j-1]+list1[j]
        list1=list2
        yield list2

generator是非常强大的工具,在Python中,可以简单地把列表生成式改成generator,也可以通过函数实现复杂逻辑的generator。
要理解generator的工作原理,它是在for循环的过程中不断计算出下一个元素,并在适当的条件结束for循环。对于函数改成的generator来说,遇到return语句或者执行到函数体最后一行语句,就是结束generator的指令,for循环随之结束。