切片
l = [1,2,3,4,5,6]
正向切片:l[0:3],l[:3],不包括3
倒数切片:l[-2:-1],不包括-1
隔N取1:l[0:10:2],隔2个取1个
迭代
dict默认迭代的是key
判断是否可迭代:isinstance("abc", Iterable)
for key in dict():
使用enumerate可以把list变成索引-元素对
for i, value in enumerate(list):
列表生成式
d_list = [d for d in os.listdir(".")]
[x*x for x in range(1, 11) if x % 2 == 0]
生成器
惰性计算
创建generator,列表元素不断推断出来,使用next()
g=(x*x for x in range(1, 11))
for value in g:
print(value)
如果一个函数包含yield,那么这个函数就是一个generator,遇到yield返回,再次执行时从上次返回的yield语句处继续执行
迭代器
iter()
是否是迭代器:isinstance(iter([]), Iterator) True
凡是可作用于for循环的对象都是Iterable类型
凡是可作用于next()函数的对象都是Iterator类型