zoukankan      html  css  js  c++  java
  • 解压序列

    # 解压序列
    现在有一个包含N个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给N个变量?
    
    解决思路:先通过简单的解压赋值给多个变量,前提是变量的数量和序列元素的数量是一致的
    
    下面是简单的代码
    
    p = (1,2,3)   # 这里的p是一个元组tuple
    x,y,y = p
    >>>x ---1
    >>>y---2
    >>>z---3
    
    **代码实现1**
    data = [ 'ABC',20,30.11,(16,28,99) ]   # data中的元素有4个
    name,share,price,hello = data     # 赋值
    
    >>>name
    'ABC'
    
    >>>share
    20
    
    >>>price
    30.11
    
    >>>date
    (16,28,39)
    
    **代码实现2**
    
    data = [ 'ABC',20,30.11,(16,28,99) ]   
    
    name,share,price,(one,two,three)= data 
    
    >>>name 
    'ABC'
    
    >>>one
    
    16
    
    >>>two
    28
    
    >>>three
    99
    如果变量个数和元素的个数不匹配,就会出现错误
    
    
    >>>p = ( 4,5)
    x,y,z = p    #变量的个数超过元素的个数
    
    ValueError: not enough values to unpack (expected 3, got 2) 
    这种解压赋值适合任何迭代对象,字符串,。。。。
    
    >>> a,b,c,d,e = p
    >>> a
    'h'
    >>> b
    'e'
    >>> c
    'l'
    >>> d
    'l'
    >>> e
    'o'
    >>>
    如果想要解压一部分,丢弃其他值,只需要通过任意变量进行占位,最后将这些变量丢弃即可
    
    data = [ 'ABC',20,30.11,(16,28,99) ] 
    _,share,price,_ = data
    >>>share
    20
    >>>price
    30.11
  • 相关阅读:
    shell
    RANDOM随机数
    docker网络管理
    Oracle-28001密码过期问题及28000账户被锁解决
    Oracle数据泵导入导出(expdb/impdb)
    mysql多实例部署
    sed命令基本使用
    MySQL5.7.x二进制安装
    每日日报
    每日日报
  • 原文地址:https://www.cnblogs.com/dangrui0725/p/9428063.html
Copyright © 2011-2022 走看看