進入python的世界-killeri
阿新 • • 發佈:2018-12-11
一、python有簡單的賦值,如x= 1
二、序列賦值,如 a, b, c = 1, 2, 3 或者[a, b, c] = 1, 2, 3 又或者 (a, b, c) =1, 2, 3
序列賦值要求等號兩邊都是序列,變數的序列和值的序列,然後序列長度相等,也就是序列值一一對應
還可以進行巢狀賦值:
((a,b),c) = [[1, 2], 3]
這樣a = 1, b=2, c=3.就是這麼神奇。
對於for語句,序列賦值和巢狀賦值好像很有用:
for (a, b, c) in [(1, 2, 3),(4, 5, 6), (7, 8, 9)]: print(a,b,c) # a取值為1,4,7,相應的b,c取值。
三、python中還有比較強大的序列解包賦值:
一個列表賦給了帶星號的名稱, 該列表收集了值序列中沒有賦值給其他變數的所有項。
有兩個要求:
(一)、帶星號的變數必須在一個變數序列中
(二)、帶星號變數最終一定只一個列表
a, *b, c = "spam"
# a = 's', c = 'm', b = ['p', 'a']
*b = [1, 2,3]
# 是錯誤的,見上面第一條
*b, = [1, 2, 3] (加了一個逗號)
# 是正確的,b = [1, 2, 3]