• list推导式,dict推导式,set推导式


    生成一个1-14的列表 

      

      1.1 普通for循环  

    # lst = []
    # for i in range(1,15):
    # 	lst.append(i)
    # print(lst)
    # # 结果:
    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
    

      

      1.2 list 推导式

    lst = [i for i in range(1,15)]
    print(lst)
    # 结果:
    # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
    # 代码更加简短,
    

    2. 生成器表达式和list推导式的区别

      1.列表推导式比较耗内存,一次性加载,生成器几乎不在用内存,只有字访问生成器的时候才会分配和使用内存

      2.得到值不一样,列表推导式得到的是一个列表,生成器得到的是一个生成器,需要去触发这个生成器,触发一次,返回一次结果,还想要结果就需要再次触发

    3. 字典推导式

      3.1 把字典中的key和value位置互换

    dic = {'a':1,'b':2}
    new_dic = {dic[key]:key for key in dic}
    print(new_dic)
    # 结果:{1: 'a', 2: 'b'}
    

      

      3.2  在以下list中,从list1中获取的数据和list2中相应的位置的数据组合成一个新的字典  

    list1 = ['阿里巴巴','腾讯','京东']
    list2 = ['马云','马化腾','刘强东']
    
    dic = {list1[n]:list2[n] for n in range(len(list1))}
    print(dic)
    # 结果:{'阿里巴巴': '马云', '腾讯': '马化腾', '京东': '刘强东'}
    

      

    4. set推导式

      可以直接帮我们生成一个无需,不重复的集合

    lst = [1,1,2,2,3,3,55,366,5,4,55,45,87,62,3,4]
    set1 = {n for n in lst}
    print(set1)
    # 结果:{1, 2, 3, 4, 5, 45, 366, 87, 55, 62}
    

      

  • 相关阅读:
    WeTagger不封号的微信客服工具(一)——预告
    WeSender不封号的微信群发软件(六)——升级:第六版已经完成
    .net core系列(一)
    .net core系列整理收藏
    Ansible Windows模块学习
    Windows配置Ansible Host
    Alembic管理Sqlite3数据库版本
    高端VIPRION实物图
    Calendar 类 set() 方法使用要点
    Java 日期处理工具类
  • 原文地址:https://www.cnblogs.com/594504110python/p/9330915.html
Copyright © 2020-2023  润新知