python中定义元组的符号_python 3 基础之元组tuple,详解

本文详细介绍了元组在Python中的不可变性质,包括定义、操作、使用场景以及与列表的区别。重点讲解了元组的创建、索引访问、元素修改与删除的限制,以及内置函数的运用。通过实例演示,探讨了元组在确保代码安全性和高效性中的角色。
摘要由CSDN通过智能技术生成

元组

元组不可改变,只要定义完成,就已经决定数值,即不可再改变,一般用来保存一些不会改变的数据;与列表类似,列表用中括号而元组用小括号,元组不可改变而列表可以。

tuple和list非常类似,但是tuple一旦初始化就不能修改

1、定义一个元组

1 my_tuple = (32,'djsh',32)2 print(my_tuple)

1.1、定义空元组

1 my_tuple =()2 #或者

3 my_tuple = tuple()

1.2、定义只有一个元素的元组

1 my_tuple = (23,)2 #或者

3 my_tuple = ('dsiud',)

2、通过下标索引来获取元组里的元素

1 my_tuple = (1,3.14,'关羽','张飞','小明')2 #获取小明

3 values = my_tuple[4]4 print(values)

3、修改元组(元组不可修改,可以将两个元组连接成一个)

my_tuple1 = (23,323,2344)

my_tuple2= ('dsl','dsxcii2')#实则是利用运算符

tup3 = my_tuple1 +my_tuple2print(tup3)

4、删除元组(元组不能单独删除某个元素,可以利用内置函数del() 删除整个元组)

1 #定义一个元组

2 my_tuple = (32,'233dssd',232)3 #利用内置函数del删除元组my_tuple

4 delmy_tuple5 print(my_tuple)

# 最后报错就对了,因为已经删除掉了my_tuple,打印不出来

5、获取元组的下标索引和查看某个元素出现的次数

1 my_tuple = (1,32,3.14,'关于','关羽','小明','关羽')2 #获取某个元素的下标索引

3 index = my_tuple.index(3.14)4 print(index)5 #获取某个元素出现的次数

6 count = my_tuple.count('关羽')7 print(count)

6、for循环与while循环遍历元组

1 my_tuple = (1,32,3.14,'关于','关羽','小明','关羽')2 #for循环遍历

3 for i inmy_tuple:4 print(i)5 #while遍历

6 i =07 #内置函数len()统计元组中元素的个数

8 while i

7、另一种解读

7.1、任意无符号的对象,以逗号隔开,默认为元组

my_tup = 23,23,3,'dsdkjh'

print(type(my_tup))

# 结果:

# 类型为tuple

7.2、tuple和list非常类似,但是tuple一旦初始化就不能修改,如:

my_tuple = (6366,'dsf','张飞')

元组my_tuple 现在不能再改变了,没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,可以正常地使用my_tuple[0],my_tuple[-1],但不能赋值成另外的元素。

不可变的tuple有什么意义?因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。

7.3、tuple的陷阱:当你定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来

my_tuple = (3, 3, 4)print(my_tuple)#打印结果

(3, 3, 4)#定义空元组

tuple =()print(tuple)

7.4、定义一个元素的元组

1 #定义有且只有一个数字元素的元组

2 #错误方式

3 tuple1 = (1)4 print(tuple)5 #打印结果

6 1

7

8 #正确的定义方式,如下

9 my_tuple = (2,)10 print(my_tuple)11 #打印结果

12 (2,)

上面错误的方式定义的不是tuple,是1这个数!这是因为括号()既可以表示tuple,又可以表示数学公式中的小括号,产生了歧义,因此,Python规定,这种情况下,按小括号进行计算,计算结果自然是1。所以,只有1个元素的tuple定义时必须加一个逗号,来消除歧义

7.5、看来是可变的元组

1 my_tuple = (3,23,'梦',[3,'ABX'])2 my_tuple[3][0] = 'HH'

3 print(my_tuple)

这个元组定义的是4个元素的元组,两个数字,一个字符串,一个列表

表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。

解释理解:tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'梦',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

8、元组内置函数

Python元组包含了以下内置函数

1、cmp(tuple1, tuple2):比较两个元组元素。

2、len(tuple):计算元组元素个数。

3、max(tuple):返回元组中元素最大值。

4、min(tuple):返回元组中元素最小值。

5、tuple(seq):将列表转换为元组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值