什麼叫做序列?序列可以理解為可以進行切片、相加相乘、索引、成員資格(用關鍵字in、not in關鍵字判斷某個元素在不在這個序列),例如:列表、元組、字串就是常見的序列。(python中內建的三種資料結構:列表、元組、字典,只有字典不是序列)
序列封包例:12
3456
78# 序列封包,把多個值賦給乙個變數
a
=
1
,
2
,
3
print
(a)
# 列印 (1, 2, 3)
print
(
type
(a))
# 列印
print
(a[
1
:
3
])
# 列印 (2, 3)
序列解包:12
3456
78910
1112
1314
1516
1718
19# 建立乙個元組
b
=
'qwer'
c
=
tuple
(b)
print
(c,
type
(c))
# 列印 ('q', 'w', 'e', 'r')
k1,k2,k3
=
c
# 元素個數與變數個數不相等時,解包會報錯:valueerror: too many values to unpack (expected 3)
# 序列解包
k1,k2,k3,k4
=
c
print
(k1,k2,k3,k4)
# 列印 q w e r
# 實現變數的值交換
k1,k2,k3,k4
=
k4,k3,k2,k1
print
(k1,k2,k3,k4)
# 列印 r e w q
# 不解包進行變數的值交換將會報錯
tyui
=
1
,
2
,
3
,
4
t,y,u,i
=
i,u,y,t
# 報錯:nameerror: name 'y' is not defined
當我們在序列解包時,只想解出部分元素時,可以在變數的左邊加「 * 」,該變數就會變成列表,儲存多個元素,例:12
3456
78910
1112
1314
a
=
tuple
(
range
(
10
))
print
(a)
# 列印 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
# 只解出0到2,3到9儲存為乙個列表
b0,b1,b2,
*
b3
=
a
print
(b3)
# 列印 [3, 4, 5, 6, 7, 8, 9]
# 只解出8到9,0到7儲存為乙個列表
*
c1,c2,c3
=
a
print
(c1)
# 列印 [0, 1, 2, 3, 4, 5, 6, 7]
# 只解出0和9,1到7儲存為乙個列表
c1,
*
c2,c3
=
a
print
(c2)
# 列印 [1, 2, 3, 4, 5, 6, 7, 8]
Python 序列封包和序列解包
序列封包和序列解包 python支援以下兩種賦值方式 程式把多個值賦給乙個變數時,python會自動將多個值封裝成元組。這種功能被稱為序列封包。程式允許將序列直接賦值給多個變數,此時序列的個元素會被依次賦值給每個變數 要求序列的元素個數和變數個數相等 這種功能被稱為序列解包。如下 所示 如果賦值過程...
序列封包和序列解包
程式把多個值賦給乙個變數時,python會自動將多個值封裝成元組,這種功能被稱為序列封包 程式允許將序列 元組或列表等 直接賦值給多個變數,此時序列的各元素會被一次賦值給每個變數,要求序列元素個數和變數個數相等 這種功能被稱為序列解包。a 1,2,3,4 a 1,2,3,4 type a x,y,z...
Python 序列封包與序列解包
什麼叫做序列?序列可以理解為可以進行切片 相加相乘 索引 成員資格 用關鍵字in not in關鍵字判斷某個元素在不在這個序列 例如 列表 元組 字串就是常見的序列。python中內建的三種資料結構 列表 元組 字典,只有字典不是序列 序列封包例 序列封包,把多個值賦給乙個變數 a 1,2,3 pr...