zoukankan      html  css  js  c++  java
  • 每天学点Python之comprehensions

    每天学点Python之comprehensions


    推导式能够简化对数据的处理,让代码简洁的同一时候还具有非常高的可读性。这在Python中非经常见。

    列表推导式

    通过列表推导式能够对列表中的全部元素都进行统一的操作来获得一个全新的列表(原列表不发生变化),形式如[处理方式 for 元素 in 列表],当中的处理方式能够是不论什么操作:

    >>> a=[1,2,3,4]
    >>> [i*2 for i in a]
    [2, 4, 6, 8]
    >>> a
    [1, 2, 3, 4]
    >>> [(i*2,i+10) for i in a]
    [(2, 11), (4, 12), (6, 13), (8, 14)]

    能够通过加上if语句来过滤掉原列表中的一些元素:

    >>> a=[1,2,3,4]
    >>> [i*2 for i in a if i>2]
    [6, 8]

    字典推导式

    我们能够通过推导式来创建一个字典,只是字典推导式的括号是花括号:

    >>> a
    [1, 2, 3, 4]
    >>> { "str"+str(i):i for i in a }
    {'str3': 3, 'str1': 1, 'str4': 4, 'str2': 2}

    运用字典推导式有一个妙用,就是能够调换键和值的位置:

    >>> a={'one':1,"two":2,"three":3}
    >>> {value:key for key,value in a.items()}
    {1: 'one', 2: 'two', 3: 'three'}

    注:确保值也是不可变类型,比如字符串、元组等

    集合推导式

    集合推导式与字典推导式相似。只是仅仅有一个值而不是键值对:

    >>> a={1,2,3,4,5}
    >>> {i**2 for i in a if i%2==1}
    {1, 9, 25}
  • 相关阅读:
    python 字符串前面加u,r,b的含义
    文本检测: CTPN
    ocr 识别 github 源码
    python 中写hive 脚本
    Win10 环境安装tesseract-ocr 4.00并配置环境变量
    OCR 识别原理
    pandas set_index和reset_index的用法
    整理 pandas 常用函数
    js es6 map 与 原生对象区别
    js 暂时性死区
  • 原文地址:https://www.cnblogs.com/gccbuaa/p/7079897.html
Copyright © 2011-2022 走看看