希望自己以后每天刷一道python练习题!!!今天我在这里立个flag,看看我能坚持多久!!(此题目来源微信公众号---python每日一练)
问题:
我们有一个包含N个元素的元组或序列,现在想把它分解为N个单独的变量。
例如我们有一个序列[1, 2, 3],想把1, 2, 3分别赋值给a, b, c三个变量。
解决方案
只需要简单的赋值就可以了,唯一的要求是变量的数量和序列的数量必须要一致
A = ["fo",23,"baba"]
a,b,c = A
print(A)
#结果
fo 23 baba
但如果变量的整数和序列的数量不一致时,则会抛出ValueError
异常
>>> l = [1, 2, 3]
>>> a, b = l
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: too many values to unpack (expected 2)
思考:
实际上,任何可迭代的对象(元组、序列、集合、迭代器等等)都可以这样来分解
def A() :
for i in range(3):
yeild i
a,b,c = A()
print(a,b,c)