一、列表推导式
列表推导式(list comprehension)是利用其它列表创建新列表的一种方式,
工作原理类似for循环,即可对得到的元素进行转换或者筛选。
列表推导式的基本格式:
变量名=[表达式 for 变量 in 列表] 或者
变量名= [表达式 for 变量 in 列表 if 条件]
执行流程:
遍历出列表中的内容给变量,表达式根据变量值进行逻辑运算。
或者遍历列表中的内容给变量,然后进行判断,符合的值在给表达式。
练习1、将lst列表中每一个元素进行平方后放到一个新的列表
第一种方法
lst = [1, 2, 3, 4, 5, 6, 7]
new_lst = []
for i in lst:
num = i * i
new_lst.append(num)
print(new_lst) # [1, 4, 9, 16, 25, 36, 49]
# 第二种方法:使用列表推导式:
new_lst = [i * i for i in lst]
print(new_lst) #[1, 4, 9, 16, 25, 36, 49]
new_lst=[i**2 for i in lst]
print(new_lst) #[1, 4, 9, 16, 25, 36, 49]
# 第三种方法:使用函数表达式
def square(num):
return num*num
new_lst=[square(i) for i in lst]
print(new_lst) #[1, 4, 9, 16, 25, 36, 49]
2、找出列表中的奇数并以列表形式展示出来
lst = [1, 2, 3, 4, 5, 6, 7, 8]
# 普通方式
new_lst = []
for i in lst:
if i % 2 == 1:
new_lst.append(i)
print(new_lst) #[1, 3, 5, 7]
# 使用列表推导式
new_lst = [i for i in lst if i % 2 ==