• 【4.5】列表推导式、生成器表达式、字典推导式


      • 列表推导式

     1 #!/user/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # 列表推导式性能高于列表操作
     4 
     5 odd_list = []
     6 for i in range(21):
     7     if i%2 == 1:
     8         odd_list.append(i)
     9 
    10 # 提取1-20之间的奇数
    11 odd_list = [i for i in range(21) if i % 2 == 1]
    12 print(odd_list)
    13 
    14 # 提取1-20之间的奇数,并且平方
    15 
    16 
    17 def pow_item(item):
    18     return item*item
    19 
    20 
    21 odd_list = [pow_item(i) for i in range(21) if i % 2 == 1]
    22 print(odd_list)
    [1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
    [1, 9, 25, 49, 81, 121, 169, 225, 289, 361]
    

      • 生成器表达式

     1 #!/user/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # 生成器表达式
     4 
     5 odd_gen = (i for i in range(21) if i % 2 == 1)
     6 print(type(odd_gen))
     7 print(odd_gen)
     8 
     9 for item in odd_gen:
    10     print(item)
    11 
    12 odd_list = list(odd_gen)
    13 print(type(odd_list))
    14 print(odd_list)
    <class 'generator'>
    <generator object <genexpr> at 0x0000015819C82660>
    1
    3
    5
    7
    9
    11
    13
    15
    17
    19
    

      • 字典推导式

     1 #!/user/bin/env python
     2 # -*- coding:utf-8 -*-
     3 # 字典推导式
     4 my_dict = {'zy1': 11, 'zy2': 22, 'zy3': 33}
     5 reversed_dict = {value: key for key, value in my_dict.items()}
     6 print(reversed_dict)
     7 
     8 # 集合推导式
     9 my_set = {key for key, value in my_dict.items()}
    10 print(type(my_set))
    11 print(my_set)
    {11: 'zy1', 22: 'zy2', 33: 'zy3'}
    <class 'set'>
    {'zy3', 'zy2', 'zy1'}
    

      

  • 相关阅读:
    最详细易懂的CRC-16校验原理(附源程序)(转)
    深入理解Java的接口和抽象类(转)
    同步、更新、下载Android Source & SDK from 国内镜像站(转载)
    django字段查询参数及聚合函数
    django不返回QuerySets的API
    django查询集API
    django查询操作
    django用包来组织模型
    django模型的继承
    django模型的元数据Meta
  • 原文地址:https://www.cnblogs.com/zydeboke/p/11247884.html
Copyright © 2020-2023  润新知