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

來源:互聯網
上載者:User
下面就為大家分享一篇使用Python將數組的元素匯出到變數中(unpacking),具有很好的參考價值,希望對大家有所協助。一起過來看看吧

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

解決的問題

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

解決的方案

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

p = (1, 2)x, y = p# x = 1# y = 2data = ['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 = pTraceback (most recent call last): File "<pyshell#12>", line 1, in <module>  x, y, z = pValueError: not enough values to unpack (expected 3, got 2)

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

s = 'Hello'a,b,c,d,e = s# a = 'H'# b = 'e'

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

data = ['google', 100.1, (2016, 5, 31)]name, _, (_,month,_) = data# name = 'google'# month = '5'# other fileds will be discarded

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.