一、元组(tuple)
元组基本上就像一个不可改变的列表。与列表一样支持任意类型的元素、支持嵌套以及常见的序列操作。元组也有一些方法,可用dir(tuple)查看。
元组编写在圆括号()中。
>>> info
=
(
'林间'
,
'Man'
,
1991
,
7
,
13
,
True
)
#支持不同类型
>>> info
=
(
'林间'
,
'Man'
,(
1991
,
7
,
13
),
True
)
#支持嵌套
>>> info[
0
]
#支持常见的序列操作
'林间'
>>> info[:
2
]
#切片
(
'林间'
,
'Man'
)
>>> info[
1
]
=
'Women'
#不可改变,对元组进行排序或重新赋值都是不行的
Traceback (most recent call last):
File
"<pyshell#12>"
, line
1
,
in
<module>
info[
1
]
=
'Women'
TypeError:
'tuple'
object
does
not
support item assignment
创建一个元组,最重要的不是圆括号而是逗号
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
>>> tuple1
=
(
1
)
#单单只有圆括号不能创建一个元组
>>>
type
(tuple1)
<
class
'int'
>
>>> tuple2
=
1
,
2
,
3
#加上逗号就能成功创建元组,圆括号不是必须的
>>>
type
(tuple2)
<
class
'tuple'
>
>>> tuple3
=
1
,
#创建单个元素的元组
>>>
type
(tuple3)
<
class
'tuple'
>
>>> tuple4
=
()
#创建空元组
>>>
type
(tuple4)
<
class
'tuple'
>
|
更新一个元组。
之前说过元组是不可变的,所以只能通过切片、插入再覆盖变量名的形式达到更新元组的目的。
1
2
3
4
|
>>> info
=
(
'林间'
,
'Man'
,(
1991
,
7
,
13
),
True
)
>>> info
=
info[:
2
]
+
(
173
,)
+
info[
2
:]
#实际上第一行中的元组并没有消失,只是没有变量名指向它了
>>> info
(
'林间'
,
'Man'
,
173
, (
1991
,
7
,
13
),
True
)
|
通过del删除整个元组
1
2
3
4
5
6
7
8
|
>>> info
(
'林间'
,
'Man'
,
173
, (
1991
,
7
,
13
),
True
)
>>>
del
info
>>> info
Traceback (most recent call last):
File
"<pyshell#36>"
, line
1
,
in
<module>
info
NameError: name
'info'
is
not
defined
|