程序员的日常联系,提高问题处理能力。
今天主要练习的是
现在有一个包含N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值
给N 个变量?
任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多
个变量。唯一的前提就是变量的数量必须跟序列元素的数量是一样的。
首先是一个简单的纯数字序列分配
all1=(3,5,7)
x,y,z=all1
print("x=",x,"\n","y=",y,"\n","z=",z,"\n")
x= 3
y= 5
z= 7
接下来是一个复合的元素提取
data2= [ 'Bob', 100, 123, (2018, 12, 21) ]
name,grades,number,date=data2
print(name)
print(grades)
print(number)
print(date)
Bob
100
123
(2012, 12, 21)
all1=(3,5,7)
x,y,z,p=all1
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in
1 all1=(3,5,7)
----> 2 x,y,z,p=all1
ValueError: not enough values to unpack (expected 4, got 3)
s='hello world'
a,b,c=s
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
in
1 s='hello world'
----> 2 a,b,c=s
ValueError: too many values to unpack (expected 3)
实验表明,这样会引起异常,那如果出现不要的元素该怎么办呢?
_,b,_=all1
print(b)
print(_)
5
7
用一个简单的变量代替咯。