列表(四)-列表推导式

1.列表推导式的基本格式:

变量名= [表达式 for 变量 in 列表] 或者

变量名= [表达式 for 变量 in 列表 if 条件]

2.执行流程:

遍历出列表中的内容给变量,表达式根据变量值进行逻辑运算

或者遍历列表中的内容给变量,然后进行判断,符合的值在给表达式

# 练习1:将lst中每一个元素进行平方后放入到一个新列表中
lst = [1, 2, 3, 4, 5]

l2 = []
for i in lst:
    l2.append(i*i)    
print(l2)

# 推导式
l2 = [i*i for i in lst]



# 练习2:将lst中的奇数放到一个新列表中
lst = [1, 2, 3, 4, 5,6,7,8]
# 推导式   
l3 = [i for i in lst if i%2==1]
    

# 练习3.将一个嵌套列表转换成一个一维列表
#lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# 转换成:lst2=[1, 2, 3, 4, 5, 6, 7, 8, 9]
lst = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]


# 传统方式
l4 = []
for i in lst:
    for j in i:
        l4.append(j)
        
# 推导式      
l4 = [j for i in lst for j in i]



# 练习5:现在有一列表lst = [[1,2,3],[4,5,6],[7,8,9]]要求出[1,4,7]  和 [1,5,9] 元素,思考如何取出
lst = [[1, 2, 3],  
       [4, 5, 6], 
       [7, 8, 9]]

lst_1 = [i[0] for i in lst]

lst_2 = [lst[i][i] for i in range(len(lst))]

3 推导式好处和不足

  • 优点:简化代码,提高代码的简洁性
  • 不足:降低代码的可读性
原文地址:https://www.cnblogs.com/duxiangjie/p/14067663.html