# 列表生成式 # lt = [i for i in range(10)] # 生成器方式1:将列表生成式的[]改为() lt = (i for i in range(3)) # 0 1 2 # 可以转换为列表 # print(list(lt)) # 可以进行遍历 # for i in lt: # print(i, end=' ') # 可以一个一个提取,当遍历完毕后再使用next会报StopIteration错 print(next(lt)) print(next(lt)) print(next(lt))
''' # 返回:[1, 2, 3, 4, ..., n] # 当数据量特别大的时候,会突然占用很大的内容 def test(n): lt = [] for i in range(1, n+1): lt.append(i) return lt print(test(3)) ''' def test(n): for i in range(1, n+1): # 执行到此处,函数会返回yield后的值,然后停在这里 yield i t = test(3) # [1, 2, 3] # print(t) # 可以使用next一个一个提取 # print(next(t)) # print(next(t)) # print(next(t)) # print(next(t)) # 可以遍历 # for i in t: # print(i) # 可以转换为列表 print(list(t)) d = {'name': 'xiaoming', 'age': 18, 'height': 180} # 返回所有的键的对象(可迭代对象) keys = d.keys() # print(list(keys)) # for k in keys: # print(k, end=' ') # 会报错 # print(next(keys)) print(list(d.values())) # ['xiaoming', 18, 180]