元组

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

posted @ 2020-04-10 10:08  zhch0201  阅读(146)  评论(0)    收藏  举报