# 解压序列 现在有一个包含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