上一篇
【测试开发】python系列教程:列表
本次分享元组
正文
如何创建元组呢?元组使用小括号 ( ),元组的元素之间用,
代码语言:javascript复制>>> name=(1,2)
>>> name
(1, 2)
>>> name2=('1','2')
>>> type(name2)
<class 'tuple'>
#不用括号也是可以的
>>> name3=4,5
>>> type(name3)
<class 'tuple'>
创建空元组
代码语言:javascript复制>>> tupe1=()
>>> tupe1
()
如何访问里面的元素呢
代码语言:javascript复制>>> name3=4,5
#获取第一个
>>> name3[0]
4
#获取最后一个
>>> name3[-1]
5
#这里截取一段的时候,同样是前包括后不包括
>>> name3=4,5,6,7
>>> name3[2:-1]
(6,)
如何修改元组呢
代码语言:javascript复制>>> name3[-1]=0
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
这里的元组是无法修改的
元组的拼接:
代码语言:javascript复制>>> name3=4,5,6,7
>>> name2=4,5
>>> name3 name2
(4, 5, 6, 7, 4, 5)
删除元组
代码语言:javascript复制>>> name2=4,5
>>> del name2
>>> name2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'name2' is not defined
删除后元组后,是找不到这个元组的。
元组运算符
代码语言:javascript复制#获取长度
>>> name3=4,5,6,7
>>> len(name3)
4
#拼接
>>> name3 (1,2)
(4, 5, 6, 7, 1, 2)
#乘
>>> name3*4
(4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7, 4, 5, 6, 7)
#判断是否在
>>> 2 in name3
False
#遍历
>>> for i in name3:
... print(i)
...
4
5
6
7
返回元组中最大值
代码语言:javascript复制>>> name3=4,5,6,7
>>> max(name3)
7
最小值
代码语言:javascript复制>>> min(name3)
4
元组的升级版--namedtuple
如何来使用呢
代码语言:javascript复制>>> from collections import namedtuple
#定一个namedtuple
>>> user=namedtuple('User','name,age,id')
# collections.namedtuple('User', 'name age id') 创建一个具名元组,
#需要两个参数,一个是类名,另一个是类的各个字段名。
#后者可以是有多个字符串组成的可迭代对象,
#或者是有空格分隔开的字段名组成的字符串(比如本示例)。
#具名元组可以通过字段名或者位置来获取一个字段的信息。
>>> use=user('tester','22','333')
#打印
>>> print(use)
User(name='tester', age='22', id='333')
#获取字段
>>> print(use._fields)
('name', 'age', 'id')
#获取属性
>>> print(use.name)
tester
#修改
>>> print(use._replace(age=222))
User(name='tester', age=222, id='333')
#转化字典
>>> print(use._asdict())
{'name': 'tester', 'age': '22', 'id': '333'}
通过这个我们修改属性,并且可以修改元组,也可以转化成字典。