使用Python將陣列的元素匯出到變數中(unpacking)

不言
發布: 2018-04-27 15:32:39
原創
2467 人瀏覽過

以下就為大家分享一篇使用Python將陣列的元素匯出到變數中(unpacking),具有很好的參考價值,希望對大家有幫助。一起過來看看吧

最近工作中遇到一個問題,需要利用Python將數組(list)或元組(tuple)中的元素導出到N個變數中,現在將我實現的方法分享給大家,有需要的朋友可以參考借鑒,下面來一起看看吧。

解決的問題

需要將陣列(list)或元組(tuple)中的元素匯出到N個變數中。

解決的方案

任何序列都可以透過簡單的變數賦值方式將其元素分配到對應的變數中,唯一的要求是變數的數量和結構需求和序列中的結構完全一致。

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
登入後複製

如果變數結構和元素結構不一致,你將會遇到以下錯誤:

##

p = (1, 2)
x, y, z = p

Traceback (most recent call last):
 File "<pyshell#12>", line 1, in <module>
  x, y, z = p
ValueError: not enough values to unpack (expected 3, got 2)
登入後複製

其實這樣的運算不限於元組和數組,在字串中也是可以用的。 Unpacking支援大多數我們常見的序列,例如檔案迭代,各種生成器等等。

s = &#39;Hello&#39;
a,b,c,d,e = s
# a = &#39;H&#39;
# b = &#39;e&#39;
登入後複製

如果導出過程中你想丟掉一些元素,其實Python並不支援這樣的語法,不過你可以指定一些不常用的變數來達到你的目的。

data = [&#39;google&#39;, 100.1, (2016, 5, 31)]
name, _, (_,month,_) = data
# name = &#39;google&#39;
# month = &#39;5&#39;
# other fileds will be discarded
登入後複製

以上是使用Python將陣列的元素匯出到變數中(unpacking)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板