python 序列解包(解压缩)
生活随笔
收集整理的這篇文章主要介紹了
python 序列解包(解压缩)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
所學的解壓縮
如果我們給出一個列表,我們需要一次性取出多個值,我們是不是可以用下面的方式實現呢?
name_list = ['nick', 'egon', 'jason'] x = name_list[0] y = name_list[1] z = name_list[2] print(f'x:{x}, y:{y}, z:{z}') x:nick, y:egon, z:jason講真,上面的方法真的是誰用誰知道,我們可以試一試解壓縮。
解壓縮可以這樣理解:超市打包是把多個商品放在一起,解壓縮其實就是解包把多個商品一次性拿出來。
name_list = ['nick', 'egon', 'jason', ] x, y, z = name_list print(f'x:{x}, y:{y}, z:{z}') x:nick, y:egon, z:jason有時候我們解壓縮的值可能是我們不想要的,那么可以使用下劃線,萬能的下劃線。
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' name_list = ['nick', 'egon', 'jason', 'tank'] x, y, z, a = name_list x, _, z, _ = name_list # _相當于告訴計算機不要了,不能以_開頭和結尾還能有一個更騷的操作,只可意會不可言傳。
name_list = ['nick', 'egon', 'jason', 'tank', 'kevin', 'jerry'] x, y, _, _, _, z = name_list x, y, *_, z = name_list寫程序不是用來裝逼的,關鍵是創造價值。python追求的是簡潔性,代碼不要寫的太長了。因此字典也是可以的,但是字典解壓縮的是key。
info = {'name': 'nick', 'age': 18} x, y = info print(x, y) name age序列解包
所謂的解壓縮就是將數據字符等從列表、字典、字符串等裝有元素的容器取出需要的元素。
這種方法并不限于列表和元組,而是適用于任意序列類型(甚至包括字符串和字節序列)。只要賦值運算符左邊的變量數目與序列中的元素數目相等,你都可以用這種方法將元素序列解包到另一組變量中。
解包的使用還可以更有逼格,可以利用 * 表達式獲取單個變量中的多個元素,只要它的解釋沒有歧義即可。
元組
tuple_num=(1,2,3) first, second, third = tuple_num列表
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' list_info=["lily",18,(2010,10,20)] name,age,birthday=list_info還可以這樣,
list_info=["lily",18,(2010,10,20)] name,age,(year,month,day)=list_info這里要注意的是,變量的個數和元素的個數要一致,否則會得到一個錯誤提示。
t=(4,5) x, y, z = t將會得到下面的錯誤提示:
Traceback (most recent call last):File "<stdin>", line 1, in <module> ValueError: not enough values to unpack (expected 3, got 2)其實,不僅僅是tuple或者list,只要對象是iterable的,那么就可以進行unpack操作。比如string、file、iterator、generator。
字符串
s="Hello" a,b,c,d,e=sIterator
''' 遇到問題沒人解答?小編創建了一個Python學習交流QQ群:579817333 尋找有志同道合的小伙伴,互幫互助,群里還有不錯的視頻學習教程和PDF電子書! ''' ite=iter([2,3,45]) i,t,e=ite print(i,t,e)123generator
g = (x * 2 for x in range(3)) x,y,z=g print(x,y,z)總結
以上是生活随笔為你收集整理的python 序列解包(解压缩)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python新手遇到的5大坑
- 下一篇: python中对多态和多态性的理解