zoukankan      html  css  js  c++  java
  • python

    拆包是指将一个结构中的数据拆分为多个单独变量中。

    以元组为例:

    >>> a = ('windows', 10, 25.1, (2017, 12, 29))

    假设数据的意思是购买windows 10 份, 每份价值25.1刀。数据获取时间是2017年12月29日。

    我们需要获取该数据中每份的价格:

    >>> a[2]

    也可以使用拆包的方法:

    >>>os_type, number, price, dat = a

    >>>price

    注意的问题拆包对象必须是可迭代的比如tuple和list。

    第二个问题:我们只关心价格和日期,不关心系统和数量:

    用一个不使用的变量,然后通过适配符号*,统配前两项。

    >>> *_, price, dat = a

    >>> price

    >>>dat

    第三个问题,如果我们只关心价格和月份,如何解开包?

    >>> *_, price, (_, m, d) = a

    >>> price

    >>> m

    注意解包在python中都支持,但是使用*统配多个数值python3中开始支持。所以使用*时候注意python版本信息。

    问题: 如果左边和右边个数不匹配,没有使用*,结果会是什么:

    ValueError: too many values to unpack

    >>> _, price, (*_, m, d) =a
    Traceback (most recent call last):
      File "<pyshell#10>", line 1, in <module>
        _, price, (*_, m, d) =a
    ValueError: too many values to unpack (expected 3)
    
  • 相关阅读:
    计算机网络
    计算机网络知识总结
    final,static,super,this
    ArrayList
    基础面试题
    BATJ都爱问的多线程面试题
    Session过期、失效时间
    类加载器ClassLoader源码解析
    连接ftp服务器 JDK 1.7
    根据当前请求的特征,判断该请求是否来自手机终端
  • 原文地址:https://www.cnblogs.com/felixwa/p/8143310.html
Copyright © 2011-2022 走看看