元组
1. 创建:
tup = 1, 2, 3
tup = tuple([1, 2, 3])
tup = tuple('abc')
2. 取值,切片:
tup[0]
tup[:2]
tup[2:]
tup[:]
3. 生成更长元组:
In [3]: (1, 2, 3) + (4, 5)
Out[3]: (1, 2, 3, 4, 5)
In [4]: ('a', 'b')*3
Out[4]: ('a', 'b', 'a', 'b', 'a', 'b')
4. 拆包
In [6]: tup = (1, 2, 'a')
In [7]: a, b, c = tup
In [8]: a
Out[8]: 1
In [9]: c
Out[9]: 'a'
------------------------------------
In [10]: tup = 1, 2, (3, 4)
In [11]: a, b, (c, d) = tup
In [12]: d
Out[12]: 4
------------------------------------
拆包的常用使用场景是遍历元组或者列表序列
In [15]: seq = [(1, 2, 3), (4, 5, 6), (7, 8, 9)]
In [16]: for a, b, c in seq:
...: print('a={}, b={}, c={}'.format(a, b, c))
...:
a=1, b=2, c=3
a=4, b=5, c=6
a=7, b=8, c=9
seq为元组,结果也与上面一样。
seq = ((1, 2, 3), (4, 5, 6), (7, 8, 9))
----------------------------------------------------
拆包还可以用于获取任意长度的位置参数列表
In [19]: values = 1, 2, 3, 4, 5
In [20]: a, b, *rest = values
In [21]: b
Out[21]: 2
In [22]: rest
Out[22]: [3, 4, 5]
#若只需要获取特定数据而丢弃不需要的数据,则如下:
In [24]: a, b, *_ = values

浙公网安备 33010602011771号