python数组赋值给变量_Python:将数组中的元素导出到变量中 (unpacking)
問(wèn)題
你需要將數(shù)組(list)或元組(tuple)中的元素導(dǎo)出到N個(gè)變量中。
解決方案
任何序列都可以通過(guò)簡(jiǎn)單的變量賦值方式將其元素分配到對(duì)應(yīng)的變量中,唯一的要求就是變量的數(shù)量和結(jié)構(gòu)需要和序列中的結(jié)構(gòu)完全一致。
p = (1, 2)
x, y = p
# x = 1
# y = 2
data = ['google', 100.1, (2016, 5, 31)]
name, price, date = data
# name = 'google'
# price = 100.1
# date = (2016, 5, 31)
name, price, (year, month, day) = data
# name = 'google'
# price = 100.1
# year = 2016
# month = 5
# day = 31
如果變量結(jié)構(gòu)和元素結(jié)構(gòu)不一致,你將會(huì)遇到以下錯(cuò)誤:
p = (1, 2)
x, y, z = p
Traceback (most recent call last):
File "", line 1, in
x, y, z = p
ValueError: not enough values to unpack (expected 3, got 2)
其實(shí)這樣的操作不限于元組和數(shù)組,在字符串中也是可以用的。Unpacking支持大多數(shù)我們常見(jiàn)的序列,比如文件迭代,各種生成器等等。
s = 'Hello'
a,b,c,d,e = s
# a = 'H'
# b = 'e'
如果導(dǎo)出過(guò)程中你想丟掉一些元素,其實(shí)Python并不支持這樣的語(yǔ)法,不過(guò)你可以指定一些不常用的變量來(lái)達(dá)到你的目的。
data = ['google', 100.1, (2016, 5, 31)]
name, _, (_,month,_) = data
# name = 'google'
# month = '5'
# other fileds will be discarded
總結(jié)
以上是生活随笔為你收集整理的python数组赋值给变量_Python:将数组中的元素导出到变量中 (unpacking)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: qq消息不在屏幕上弹出
- 下一篇: python输入数据爬取_python根