python中 解包的快捷用法

2021-09-24 20:51:29 字數 1278 閱讀 2496

任意長度可迭代物件的元素解包

例如:[ 'laowang', '18', 'boy', '18800000000', '17700000000', '16600000000']

如果我們只關注姓名和**號碼,我們可以這樣使用

msg_ls =

['laowang'

,'18'

,'boy'

,'18800000000'

,'17700000000'

,'16600000000'

]# 使用*解包

name, _, _,

*phone_nums = msg_ls

>>

> name

'laowang'

>>

> phone_nums

['18800000000'

,'17700000000'

,'16600000000'

]

*在迭代元素為可變長度的元組時也是很有用的。

msg_ls =[(

'country'

,'china'

,'beijing'),

('job'

,'coder'),

('time'

,2019,6

,30)]

defdo_country

(country, capital)

:print

('come from %s in %s'

%(capital, country)

)def

do_job

(job)

:print

('i am %s'

% job)

defdo_time

(year, month, day)

:print

('time is %s-%s-%s'

%(year, month, day)

)# 函式遍歷執行時

for key,

*values in msg_ls:

if key ==

'country'

: do_country(

*values)

elif key ==

'job'

: do_job(

*values)

elif key ==

'time'

: do_time(

*values)

Python中的解包

a,b,c 1 2 3 print a,b,c 1 2 3 a,b,c print a,b,c 1 2 3 2.python中交換變數值實際也是解包的過程。a,b 1,2 a,b b,a print a,b 2 1 a,b,c 1,2,3,4 print a,b,c 1 2 3,4 在函式呼叫時,你...

python中的解包操作

在看別人寫的python 的時候,有時候會看到在變數前面加上乙個 或者是 上網找了一下相關的資料發現這些星號原來是python中的解包操作,相當於將乙個容器中的元素取出來然後分配給不同的變數,下面是我看別人寫的部落格自己的一些理解 1 乙個星號解包 解包可以使用在多個變數賦值或者是函式呼叫中,並且任...

python 序列解包的多種形式和用法

序列解包 sequence unpacking 是python中非常重要和常用的乙個功能,可以使用非常簡潔的形式完成複雜的功能,大幅度提高了 的可讀性,減少了程式設計師的 輸入量。例如,可以使用序列解包功能對多個變數同時進行賦值。x,y,z 1,2,3 多個變數同時賦值 v tuple false,...