# 推导式化简代码
# 列表推导式 又叫列表生成式
# 作用 用一个表达式创建一个有规律的列表或者控制一个有规律的列表
list1 = []
i = 0
while i < 10:
list1.append(i)
i += 1
print(list1) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list2 = []
for i in range(10):
list2.append(i)
print(list2) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list3 = [i for i in range(10)]
print(list3) # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# 带if的例表推导式
# 创建0-10的偶数数据列表
list1 = [i for i in range(0, 10, 2)]
print(list1) # [0, 2, 4, 6, 8]
list2 = [i for i in range(10) if i % 2 == 0]
print(list2) # [0, 2, 4, 6, 8]
# 多个for循环实现列表推导式
# 创建如下列表
# [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
list3 = [(i, j) for i in range(1, 3) for j in range(3)]
print(list3) # [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
# 一行代码实现99乘法表
print("\n".join("".join('%s * %s = %2s ' % (j, i, i * j) for j in range(1, i+1)) for i in range(1, 10)))
# 1 * 1 = 1
# 1 * 2 = 2 2 * 2 = 4
# 1 * 3 = 3 2 * 3 = 6 3 * 3 = 9
# 1 * 4 = 4 2 * 4 = 8 3 * 4 = 12 4 * 4 = 16
# 1 * 5 = 5 2 * 5 = 10 3 * 5 = 15 4 * 5 = 20 5 * 5 = 25
# 1 * 6 = 6 2 * 6 = 12 3 * 6 = 18 4 * 6 = 24 5 * 6 = 30 6 * 6 = 36
# 1 * 7 = 7 2 * 7 = 14 3 * 7 = 21 4 * 7 = 28 5 * 7 = 35 6 * 7 = 42 7 * 7 = 49
# 1 * 8 = 8 2 * 8 = 16 3 * 8 = 24 4 * 8 = 32 5 * 8 = 40 6 * 8 = 48 7 * 8 = 56 8 * 8 = 64
# 1 * 9 = 9 2 * 9 = 18 3 * 9 = 27 4 * 9 = 36 5 * 9 = 45 6 * 9 = 54 7 * 9 = 63 8 * 9 = 72 9 * 9 = 81
python列表推导式
于 2022-01-23 11:10:32 首次发布