Python基础教程

010_Python元组类型tuple

Python元组类型tuple

Python元组类型tuple的理解

Python 的元组tuple与列表list类似,不同之处在于元组的元素不能修改。

元组使用小括号(),列表使用方括号[],元素间隔也是逗号","。元组必须有逗号","存在,即使只有一个元素,因为如果没有逗号就会被认为是普通括号表达式运算。

元组tuple数据访问也是下标,仍然用方括号[]。

mytuple=(15,)          # 这是元组格式
print(type(mytuple))   # <class 'tuple'>
print(mytuple)         # (15,)
print(mytuple[0])      # 15

mytuple=(15)           # 这不是元组格式,这是普通括号表达式,并不是所有带小括号()的都是元组
print(type(mytuple))   # <class 'int'>
print(mytuple)         # 15
# print(mytuple[0])    # 报错 TypeError: 'int' object is not subscriptable

元组tuple可以像list一样存储。

tup1=(1,2,3)
tup2=(1.1,2.4,3.6)
tup3=("a","abc","mm")
tup4=(1,2,3,"a","abc","mm",1.1,2.4,3.6)
tup5=(1,2,3,(1.1,2.4,3.6,("a","abc","mm")))
print(tup1)
print(type(tup1))
print(tup2)
print(tup3)
print(tup4)
print(tup5)

运行结果如下。

C:UsershccmaAnaconda3python.exe E:/wkp01/p00/test01/py001/t09.py
(1, 2, 3)
<class 'tuple'>
(1.1, 2.4, 3.6)
('a', 'abc', 'mm')
(1, 2, 3, 'a', 'abc', 'mm', 1.1, 2.4, 3.6)
(1, 2, 3, (1.1, 2.4, 3.6, ('a', 'abc', 'mm')))

Process finished with exit code 0

元组tuple看似是个多余的数据类型,因为很多功能都可以用列表list去实现,现实中tuple使用量确实比list少。

但是元组不允许添加和修改,这能保证数据安全,因此也有一定应用场景。

元组与函数(后面会讲到)的结合,能实现返回结果为多个、传入参数为动态(参数个数可变)、数据安全。

很多库函数提供的函数参数为元组形式,返回结果也为元组。

元组tuple的创建与删查

元组的创建。使用小括号()和逗号",",并且逗号","不可缺少(即使只有一个元素也不可缺少)。

元组的添加。不可以添加。只能通过其他方法构造出想要的元组,比如通过list转换成tuple,或者tuple相加。

元组的删除。可以用del语句,但是只能整体删除不能删除单个元素。

元组的访问(查)。与list一样使用方括号[]索引法。

mylist=[]
mylist.append(10)
mylist.append(15)
mylist.append(20)
mytuple=tuple(mylist) # tuple()函数能把list对象转换成元组tuple对象
print(mytuple)        # (10, 15, 20)
print(mytuple[2])     # 20  这是访问第3个元组元素
#mytuple[2]=30        # 报错,元组元素不允许修改  TypeError: 'tuple' object does not support item assignment
del mytuple
#print(mytuple)       # 报错 NameError: name 'mytuple' is not defined

tup1=(1,2,3)
tup2=(4,5,6,7,8)
tup3=tup1+tup2        # 元组相加
print(tup1)           # (1, 2, 3)
print(tup2)           # (4, 5, 6, 7, 8)
print(tup3)           # (1, 2, 3, 4, 5, 6, 7, 8)

mytuple=(1,)*10       # 元组复制生成
print(mytuple)        # (1, 1, 1, 1, 1, 1, 1, 1, 1, 1)

mytuple=(1)*10        # 这不是个元组
print(mytuple)        # 10

元组tuple的函数

len(tuple):返回元组元素个数

tuple(iterable):将可迭代系列转换为元组

max(list):返回元组元素最大值

min(list):返回元组元素最小值

这篇文章对您有用吗?

我们要如何帮助您?