主要内容 #
- 列表的推导表达式:二层循环
1. 列表的推导表达式:二层循环 #
用于二层循环的列表推导表达式语法如下: list1= [表达式 for 元素1 in 迭代对象1 for 元素2 in 迭代对象2] 功能:将’迭代对象1’中的’元素’逐一取出放入变量’元素1’中, 将’迭代对象2’中的’元素’逐一取出放入变量’元素2’中, 将’元素1’和’元素2’按’表达式’进行操作,最终得到新的列表,并赋值给变量list1 例如:给定如下两个列表a和b,生成a和b的笛卡尔积,结果赋给新的列表c,并输出c的结果 a=[1,2,3,4,5,6], b = [2,3,4,5,6,7] 提示:假设A=[a,b], B=[0,1,2], 则A和B的笛卡尔积为:[a*0,a*1,a*2,b*0,b*1,b*2] 常规方法如下:a = [1, 2, 3, 4, 5, 6] b = [2, 3, 4, 5, 6, 7] c = [] for i in a: for j in b: c.append(i*j) print(c)推导表达式的方法如下:
a = [1, 2, 3, 4, 5, 6] b = [2, 3, 4, 5, 6, 7] c = [i*j for i in a for j in b] print(c)注:理论上可以嵌套多层,不过为了代码的可读性,一般两层,不会超过三层。
3. 小结 #

OJ训练题 #
1、练25.2 订餐时间 – ★
2、【入门】编程求1平方+2平方+…+n平方 – ★
3、练42.5 大象喝水 – ★
4、【入门】门票的定价 – ★★
5、练47.4 小明吃苹果 – ★★★