元组

一、元组的特点:

1、与列表相似,不同之处就在于元组的元素不能被修改。
2、列表使用的是中括号“[]”,元组使用的是小括号“()”。
3、列表属于可变类型,元组属于不可变类型。
4、Python内部对元组进行了大量的优化,访问喝处理速度都比列表快。


二、元组的创建、访问和删除

1、创建
创建有两种形式,与列表的创建类似。

#创建
tuple1 = tuple((1,2,3))         #创建了一个包括3个元素的元组对象
print(tuple1)
tuple2 = (1,2,3,4,5,6,7,8,9,10)
print(tuple2)

#打印结果
#(1, 2, 3)
#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)

当要创建的元组中只包含一个元素时,必须带逗号。如果不带逗号会将左右括号默认视为运算符。

tuple1= (100, )                     #创建一个元素的元组时,必须带有逗号
tuple2= (100)
print(tuple1[0])
#print(tuple2[0])					无法正确打印元组中第一个元素
#error: TypeError: 'int' object is not subscriptable

2、访问
元组的访问和列表的访问类似。可以访问打印整个元组中的元素,也可以打印下标所对应的元素。

tuple1 = tuple((1,2,3))        
print(tuple1)
tuple2 = (1,2,3,4,5,6,7,8,9,10)
print(tuple2)
print(tuple2[5])
num = eval(input("请输入要查找元素的下标:"))
print(tuple2[num])

#打印结果:
#(1, 2, 3)
#(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
#6
#请输入要查找元素的下标:2
#3

使用推导式生成并访问元组对象
注意:推导式复制后,元组中的元素并没有被同一生成,一直到访问到某个元素时,才会被及时生成

#使用推导式生成并访问元组对象
#创建
#注意:推导式复制后,元组中的元素并没有被同一生成,一直到访问到某个元素时,才会被及时生成
tuple1 = (value for value in range(1,11))            #返回一个迭代的对象
#访问
print(tuple1)
for i in tuple1:
    print(i)

#打印结果:
#<generator object <genexpr> at 0x033FCBF8>
#
#1
#2
#3
#4
#5
#6
#7
#8
#9
#10

3、数据类型
元组的数据类型就是元组(tuple)

tuple1 = tuple((1,2,3))         #创建了一个包括3个元素的元组对象
print("元组的数据类型是:",type(tuple1))

#打印结果:
#元组的数据类型是: <class 'tuple'>

4、删除
要是删除,不能只删除元组中的某个元素,如果要删除,那么就使用del删除整个元组。

tuple2 = (1,2,3,4,5,6,7,8,9,10)
print(tuple2)
#删除
del tuple2

5、更改元素错误
不能通过下标之间更改元组里面的值(因为规定元组中的元素不能被修改)。

tuple2 = (1,2,3,4,5,6,7,8,9,10)
tuple2[0] = 100
#error: TypeError: 'tuple' object does not support item assignment

补充:当一个函数返回了多个值,那么Python内部会把多个值放在一个元组中返回。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐