""" 内容:列表推导式 列表推导式(list comprehension) 列表推导式是用可迭代对象依次生成列表内元素的方式: 列表推导式是表达式 语法: [ 表达式 for 变量 in 可迭代对象 ] 或 [ 表达式 for 变量 in 可迭代对象 if 条件表达式] 说明: 1. 先从可迭代对象取一个值,用变量绑定 2. 调用表达式,把当前的表达式结果追加到列表中 3. 重复上述步骤,直到可迭代对象不再提供数据为止 4. for in 表达式的if子句可以省略,省略后将对所有生成的对象进行处理 5. 如果 if 条件语句的真值测试值为False,则可迭代对象生成的数据将被丢弃 列表推导式的嵌套: 语法: [表达式1 for 变量1 in 可迭代对象1 for 变量2 in 可迭代对象2 (if 真值表达式2)] () 表示可省略 """ # 1.生成一个数值为1~9的平方的列表 L = [x ** 2 for x in range(1, 10)] print("L:", L) # L: [1, 4, 9, 16, 25, 36, 49, 64, 81] # 2.生成:[1, 3, 5, 7, 9, ..... 99] L = [x for x in range(1, 100, 2)] print("L:", L) # L: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99] L = [2 * x - 1 for x in range(1, 51)] print("L:", L) # L: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99] L = [x for x in range(100) if x % 2 == 1] print("L:", L) # L: [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99] # 3. s = "ABC" d = "123" L = [x + y for x in s for y in d] print("L:", L) # L: ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']