切片
在列表中取前三个元素,例如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循环随之结束。