解包賦值與列印矩陣

2021-10-03 14:30:06 字數 1095 閱讀 7542

在python中,序列解包賦值是一種常用的賦值語法。

a, b, c =(1

,2,3

)x, y =[4

,5]print

(a, b, c)

print

(x, y)

這種用法是很常見的。

其實,=號右側不但可以使用常見的列表、元組等內建型別,更一般的對於所有的可迭代物件都是支援的,包括字典、檔案、range、zip object、enumerate object、map object、filter object、生成器等。

a, b, c =

range(3

)print

(a, b, c)

對於檔案,可以使用解包賦值語法將行賦值給變數。

函式呼叫時,位置引數的傳遞也可以使用解包的方法進行傳參。

def

f(a, b, c)

:print

(a + b + c)f(*

range(3

))

列印矩陣或列表是一種常見的需求。一般列印列表可以使用for迴圈簡單實現:

a =[1

,2,3

]for i in a:

print

(i, end=

' ')

但是由於解包賦值的存在,可以使用更簡潔的**,不需要使用迴圈語句:

a =[1

,2,3

]print

(*a)

尤其是對於矩陣的列印,避免了巢狀迴圈:

a =[[

1,2,

3],[

4,5,

6],[

7,8,

9]]for row in a:

print

(*row)

鏈式賦值 系列解包賦值 常量

鏈式賦值 用於同乙個物件賦值多個變數。eg x y 123,相當於 x 123 y 123 系列解包賦值 系列資料賦值給對應個數的變數 個數必須保持一致 使用系列解包賦值實現變數交換 a,b 10,20 a,b 20 10 print a,b 常量,python不支援,但實際上可以,只是邏輯是不一樣...

解包kwargs python的封包與解包

將多個值賦值給乙個變數時,python會自動將這些值封裝成元組,這個特性稱之為封包 a 1,2,3 print a,type a 1,2,3 當函式返回多個數值時,也會進行封包 def test return 1,2,3 a test print a,type a 1,2,3 實踐中,很少主動使用封...

矩陣特殊列印與旋轉

題意 給定n,m表示矩陣的行與列,已經整個矩陣的值,然後按照順時針方向列印該矩陣。例 題解 可以將每列印一圈看成乙個週期 即 第一步 從左到右列印 第二步 從上到下列印 第三步 從右到左列印 第四步 從下到上列印 其中對於每個週期,第一步肯定是會進行的,但是其他步驟不一定會進行,於是加以特判,具體見...