1.1 解压序列赋值给多个变量
问题
现在有一个包含 N 个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给 N 个变量?
解决方案
任何的序列(或者是可迭代对象)可以通过一个简单的赋值语句解压并赋值给多个变量。 唯一的前提就是变量的数量必须跟序列元素的数量是一样的。
p = (4,5) #元组
x,y = p
x
4
y
5
data = [ 'ACME', 50, 91.1, (2012, 12, 21) ] # 列表
name, shares, price, date = data
name
'ACME'
date
(2012, 12, 21)
name, shares, price, (year, mon, day) = data
name
'ACME'
year
2012
mon
12
day
21
s = 'Hello' #字符串
a, b, c, d, e = s
a
'H'
b
'e'
e
'o'
有时候,你可能只想解压一部分,丢弃其他的值。对于这种情况 Python 并没有提供特殊的语法。 但是你可以使用任意变量名去占位,到时候丢掉这些变量就行了。但必须保证选用的那些占位变量名在其他地方没被使用到。
data = [ 'ACME', 50, 91.1, (2012, 12, 21) ]
_, shares, price, _ = data
shares
50
price
91.1
本文介绍了如何在Python中将包含N个元素的元组或序列解压,并将其值同时赋给N个变量的方法。此外,还展示了如何通过使用占位符变量选择性地解压部分元素。

1312

被折叠的 条评论
为什么被折叠?



