- li = [ 6*i for i in range(10)]
- print(li)
- -----------------------------------------
- [0, 6, 12, 18, 24, 30, 36, 42, 48, 54]
- -----------------------------------------
- str = ["输出 %s" %i for i in range(10)]
- print(str)
- -----------------------------------------
- ['输出 9', '输出 5', '输出 1', '输出 0', '输出 4', '输出 8', '输出 2', '输出 6', '输出 7', '输出 3']
2. 生成器表达式
- li = ( 2*i for i in range(10))
- print(li)
- print(next(li)) # #next 本质就是调用__next__
- print(li.__next__())
- print(next(li))
- ----------------------------------------
- 2
- 4
- 6
- ----------------------------------------
- for i in li:
- print(i)
总结:
1. 把列表解析的 [] 换成 () 得到的就是生成器表达式
2. 列表解析与生成器表达式都是一种便利的编程方式, 只不过生成器表达式更节省内存
推导式
来源: http://www.bubuko.com/infodetail-3093959.html