列表推导式

egg_list=['鸡蛋%s'%i for i in range(10)] print(egg_list)
推导过程

egg_list = [] for i in range(10): egg_list.append('鸡蛋%s'%i) print(egg_list) print([i*i for i in range(10)])
生成器表达式
g = (i for i in range(10)) print(g) for i in g: print(i)
总结
1.把列表解析的[]换成()得到的就是生成器表达式 2.列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更节省内存 3.Python不但使用迭代器协议,让for循环变得更加通用。大部分内置函数,也是使用迭代器协议访问对象的。
练习生成器表达式
print(老母鸡) 老母鸡=('鸡蛋%s'%i for i in range(10)) # for 蛋 in 老母鸡: print(蛋) g = (i*i for i in range(10)) g.__next__()