zoukankan      html  css  js  c++  java
  • 列表(四)-列表推导式

    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 推导式好处和不足

    • 优点:简化代码,提高代码的简洁性
    • 不足:降低代码的可读性
  • 相关阅读:
    ef左联三张表案例
    sql常用语句汇总
    最初的ajax案例
    asp.net mvc请求响应模型原理回顾
    viewstate cookie和session原理回顾
    一般处理程序装配数据到html页的原理
    asp.net页面生命周期回顾
    rocketMQ 消息的 tag
    rocketMQ 订阅关系
    rocketMQ retry 消息的实现
  • 原文地址:https://www.cnblogs.com/duxiangjie/p/14067663.html
Copyright © 2011-2022 走看看