zl程序教程

您现在的位置是:首页 >  Python

当前栏目

【测试开发】python系列教程:元组

2023-02-18 16:48:45 时间

上一篇

【测试开发】python系列教程:列表

本次分享元组


正文

如何创建元组呢?元组使用小括号 ( ),元组的元素之间用,

>>> name=(1,2)
>>> name
(1, 2)
>>> name2=('1','2')
>>> type(name2)
<class 'tuple'>
#不用括号也是可以的
>>> name3=4,5
>>> type(name3)
<class 'tuple'>

创建空元组

>>> tupe1=()
>>> tupe1
()

如何访问里面的元素呢

>>> name3=4,5
#获取第一个
>>> name3[0]
4
#获取最后一个
>>> name3[-1]
5
#这里截取一段的时候,同样是前包括后不包括
>>> name3=4,5,6,7
>>> name3[2:-1]
(6,)

如何修改元组呢

>>> name3[-1]=0
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment

这里的元组是无法修改的

元组的拼接:

>>> name3=4,5,6,7
>>> name2=4,5
>>> name3+name2
(4, 5, 6, 7, 4, 5)

删除元组

>>> name2=4,5
>>> del  name2
>>> name2
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'name2' is not defined

删除后元组后,是找不到这个元组的。

元组运算符

#获取长度
>>> 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

返回元组中最大值

>>> name3=4,5,6,7
>>> max(name3)
7

最小值

>>> min(name3)
4

元组的升级版--namedtuple

如何来使用呢

>>> 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'}

通过这个我们修改属性,并且可以修改元组,也可以转化成字典。