Python中元组的特性

一、元组中的对象不可修改
所谓元组的不可变指的是元组所指向的内存中的内容不可变。

tuple1=(12,23,34,45)
tuple1[1]=20

#错误提示
TypeError: 'tuple' object does not support item assignment

虽然元组中的内容不可以改变,但元组可以通过切片的方式进行截取来增长元组的长度。

tuple1=(1,2,3,4,5)
tuple1=tuple1[:1]+(0,)+tuple1[1:]
print(tuple1)

(1, 0, 2, 3, 4, 5)	#输出

新加对象所需的逗号与括号缺一不可。

那么如果想要删除元组中的任意一个对象呢?我们也可以通过切片的方式删除元组中的对象。

tuple1=(1,2,3,4,5)
tuple1=tuple1[:1]+tuple1[2:]
print(tuple1)

(1, 3, 4, 5)	#输出

二、元组的分片操作

tuple1=(12,23,34,45)
print(tuple1[:2])

(12, 23)	#输出

三、元组的标志性符号
大部分人可能会想到列表的标志性符号时中括号[ ],所以元组的符号也肯定是小括号( ),但是实际上仿佛不是如此。

tuple1=(1)
print(type(tuple1))

<class 'int'>	#输出

由此看来,虽然有了小括号,但是tuple1的类型依然为int型,所以小括号并不是元组的标志性符号。

tuple1=1,2,3
print(type(tuple1))

<class 'tuple'>	#输出

由此可见,逗号才真正是元组的标志性符号。
我们平常可以建立一个空列表,此时我们应该如何建立一个空元组呢?

list1=[]
print(type(list1))
tuple1=()
print(type(tuple1))

<class 'list'>	#输出
<class 'tuple'>

这就很怪了,既然( )并不是元组的标志性符号,那为何tuple1仍然为元组类型呢?但我们可以用这种方式建立一个空元组。那我们如何建立一个只有一个对象的元组呢?

tuple1=(1,)
print(type(tuple1))

<class 'tuple'>	#输出

所以只需在对象后加上一个逗号即可。

发布了14 篇原创文章 · 获赞 0 · 访问量 302

猜你喜欢

转载自blog.csdn.net/lhyhaiyan/article/details/104299383