zoukankan      html  css  js  c++  java
  • 【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'}
    

      

  • 相关阅读:
    code-breaking picklecode中对signed_cookies引擎分析
    [一道蓝鲸安全打卡Web分析] 文件上传引发的二次注入
    攻防世界Web新手解析
    面向对象相关
    面试第二篇
    函数相关
    python复习目录
    面试第一篇
    Django Rest Framework进阶二
    Django Rest Framework进阶一
  • 原文地址:https://www.cnblogs.com/zydeboke/p/11247884.html
Copyright © 2011-2022 走看看