38 序列解包

2021-10-09 01:29:10 字數 2639 閱讀 6852

序列解包可以用於元組、列表、字典序列解包可以讓我們方便的對多個變數賦值。

-1]# 也就是以下 效果 類似。

in [35]

:[[a,b]

,[c,d]]=

[[1,

2],[

3,4]

]in [36]

: aout[36]

:1in [37]

: bout[37]

:2in [38]

: cout[38]

:3in [39]

: dout[39]

:4序列解包用於字典時,預設是對「鍵」進行操作; 如果需要鍵值對操作,則需要使用items()如果需要對「值」進行操作,則需要使用values()

>>

> s =

>>

> name,age,job=s #預設對鍵進行操作

>>

> name

'name'

>>

> name,age,job=s.items(

)#對鍵值對進行操作

>>

> name

('name'

,'onepis'

)>>

> name,age,job=s.values(

)#對值進行操作

>>

> name

'onepis'

in [45]

: a,b,c=

map(

str,

range(3

))# 另外 序列解包 也可以直接用於生成器。 和 for 迴圈

in [46]

: aout[46]

:'0'

in [47]

: bout[47]

:'1'

in [48]

: cout[48]

:'2'

# 另外 序列解包 也可以直接用於生成器。 和 for 迴圈

# enumerate 返回的 是 乙個 元組 裡面 包含 乙個 索引 。 乙個 元素

# 解包 到 i 和 v 上

in [53]

:*((i,v)

for i,v in

enumerate

(range(3

))),

out[53]

:((0

,0),

(1,1

),(2

,2))

in [55]

: a=[3

,4,5

]# 這樣 換個變數 來測試 。 更直觀一點

in [56]

:*(i for i in

enumerate

(a))

,# 後面 加乙個 逗號。 利用 元組的特性來 解包。

# 列表也可以這樣解包。 但是 返回的 依然是元組。

out[56]

:((0

,3),

(1,4

),(2

,5))

# 最簡單的測試是 以下

in [58]

:*range(3

),out[58]

:(0,

1,2)

Python筆記(八)序列解包

是指對多個變數進行賦值的簡潔操作,把乙個序列或者可迭代物件中的元素進行賦值給多個變數,要求等號左邊的值的數量和等號右邊值的數量必須一致 列表,元組,字典,集合 可以使用序列解包功能對多個變數同時進行賦值 x,y,z 1,2,3 多個變數進行同時賦值 tuple2 true,2,y x,y y,x 交...

Python3 序列解包

自 序列解包是 python 3.0 之後才有的語法 什麼是序列解包呢?先看乙個例子 a,b,c 1,2,3 a 1 b 2 c 3 這種方法並不限於列表和元組,而是適用於任意序列型別 甚至包括字串和位元組序列 只要賦值運算子左邊的變數數目與序列中的元素數目相等,你都可以用這種方法將元素序列解包到另...

Python學習之路(1) 序列解包

序列解包 python中一次給多個變數賦多個值 基本方法就是一次性將乙個元組賦值給多個變數 序列解包 value 1,2,3 print type value print value x,y,z value print x,y,z print x print y print z print type...