zoukankan      html  css  js  c++  java
  • python推导式

    ①把列表解析的[]换成()得到的就是生成器表达式

    ②列表解析与生成器表达式都是一种便利的编程方式,只不过生成器表达式更加节省内存空间

    ③Python不但使用迭代器协议,让for循环变得更加通用。大部分内置函数,也是使用迭代器协议访问对象的。

      例如sum函数是python的内置函数,该函数使用迭代器协议访问对象,而生成器实现了迭代器协议。

    1 sum(i*2 for i in range(4))

    1.列表推导式

     例一:30以内所有能被3整除的数  

    1 # 列推导式

    2 # [满足条件的元素相关的操作 for 元素 in  可迭代数据类型 if 元素相关的条件]

    3 # 30以为所有能被3整除的数字

    4 print([i for i in range(30) if i%3 == 0]) # 完整的列表推导式

    例二:30以内所有能被3整除的数的平方

    1 # 30以为所有能被3整除的平方

    2 print([i*i for i in range(30) if i%3 == 0]) # 完整的列表推导式

    例三:找到嵌套列表中名字包含‘e’的所有名字

    1 # 找到嵌套列表中名字中含有'e'的所有名字

    2 names = [['Tom','Billy','Jefferson','Andrew','Wesley','Steven','Joe'],

    3         ['Alice','Jill','Ana','Wendy','Jennifer','Sherry','Eva']]

    4 ret = [name for lst in names for name in lst if name.count('e') == 2]

    5 print(ret)

    2.字典推导式

    例一:将一个字典的key和value对调

    1 # 将一个字典的key和value对调

    2 mcase = {'a':10,'b':34}

    3 mcase_frequency = {mcase[k]:k for k in mcase}

    4 print(mcase_frequency)

    例二:合并大小写对应的value值,讲key统一成大写

    1 # 合并大小写对应的value值,将key统一成小写

    2 # {'a':10+7,'b':34,'z':3}

    3 mcase = {'a':10,'b':34,'A':7,'Z':3}

    4 mcase_frequency = {k.lower():mcase.get(k.lower(),0)+mcase.get(k.upper(),0) for k in mcase}

    3.集合推导式

    例子:计算列表中每个值的平方,自带去重复的功能

    1 # 集合推导式 自带去重功能

    2 squared = {x**2 for x in [1,-1,2]}

    3 print(squared)

    A thousand journey is started by taking the first step.
  • 相关阅读:
    AJAX跨域问题解决方法(3)——被调用方解决跨域
    AJAX跨域问题解决方法(2)——JSONP解决跨域
    AJAX跨域问题解决方法(1)——禁止浏览器进行跨域限制
    AJAX跨域问题解决思路
    产生AJAX跨域问题的原因
    WebStorm配置Vue开发环境
    (2012年旧文)纪念史蒂夫乔布斯---IT界的普罗米修斯
    嵌入式平台组件白盒测试gcov、lcov和genhtml 使用指导
    嵌入式平台使用gtest进行白盒测试
    【转】Python中执行cmd的三种方式
  • 原文地址:https://www.cnblogs.com/chengjian-physique/p/14427761.html
Copyright © 2011-2022 走看看