内容正文:
80Python列表推导式的应用
复习与巩固
列表推导式是一种简洁且高效的创建列表的方式。它允许你在一行代码中对一个可迭代对象进行遍历、过滤和转换操作,从而生成一个新的列表。
其语法形式有以下几种组合:
①一个表达式,后面为一个 for 子句
②一个表达式,后面为一个 for 子句,然后,跟着if 子句。
③一个表达式,后面为一个 for 子句,然后,跟着 for 子句。
④一个表达式,后面为一个 for 子句,然后,跟着 for 子句,if 语句
案例一:表达式是函数的列表推导式
l1 = [' AA', ' BB ', 'CC ']
l2 = [i.strip() for i in l1]
# strip():去掉前后空格
print(l2)
输出结果 # ['AA', 'BB', 'CC']
案例二:表达式是元组的列表推导式
l = [(x, x**2) for x in range(6)]
print(l)
# 输出结果 [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]
案例三:表达式是复杂的表达式和嵌套函数
输出结果:
# ['3.1', '3.14', '3.142', '3.1416', '3.14159', '3.141593', '3.1415927', '3.14159265']
案例四:生成一个包含字母及其对应的 ASCII 码值的列表
letter_list = [chr(i) for i in range(ord('A'), ord('Z') + 1)]
ascii_values = [ord(letter) for letter in letter_list]
print(ascii_values)
输出:字母列表为 ['A', 'B', 'C',..., 'Z'],
ASCII 码值列表为 [65, 66, 67,..., 90]
案例五:对两个列表的元素进行组合
list1 = [1, 2, 3]
list2 = ['a', 'b', 'c']
combinations = [(i, j) for i in list1 for j in list2]
print(combinations)
输出:[(1, 'a'), (1, 'b'), (1, 'c'), (2, 'a'), (2, 'b'), (2, 'c'), (3, 'a'), (3, 'b'), (3, 'c')]
案例六:利用列表推导式实现乘法口诀
$$