• 解压序列


    # 解压序列
    现在有一个包含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
  • 相关阅读:
    零点起飞学Word与Excel高效办公实战与技巧
    C语言核心技术(原书第2版)
    完全精通Nuendo电脑音乐及音频制作:精细操作与实践指南
    1035.找出直系亲属(floyd)
    1033.继续XXX定律
    1034.寻找大富翁
    1032.ZOJ问题
    1029.魔咒词典
    1031.XXX定律
    1028.继续畅通工程
  • 原文地址:https://www.cnblogs.com/dangrui0725/p/9428063.html
Copyright © 2020-2023  润新知