列表推导式和生成器表达式

  1. 列表推导式

1 egg_list = ['鸡蛋%s' % i for i in range(10)]
2 print(egg_list)     # ['鸡蛋0', '鸡蛋1', '鸡蛋2', '鸡蛋3', '鸡蛋4', '鸡蛋5', '鸡蛋6', '鸡蛋7', '鸡蛋8', '鸡蛋9']
3 print([i * i for i in range(10)])   # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
View Code

  

  2.生成器表达式

1 g = (i for i in range(10))
2 print(g)    # <generator object <genexpr> at 0x0000023D9AF3E570>  g是一个生成器
3 for i in g:
4     print(i)
View Code
生成器表达式与列表推导式,括号不一样,返回的值不一样,生成器表达式使用的是(),列表推导式使用的是[],生成器表达式返回的是生成器
生成器表达式几乎不占用内存,这点比列表表达式好


posted @ 2018-09-06 22:10  _小溢  阅读(205)  评论(0编辑  收藏  举报