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]
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)
生成器表达式与列表推导式,括号不一样,返回的值不一样,生成器表达式使用的是(),列表推导式使用的是[],生成器表达式返回的是生成器
生成器表达式几乎不占用内存,这点比列表表达式好