Python __元组

本文介绍了Python中元组的基本概念,包括元组的定义、访问、修改、删除等操作方法,并详细解释了元组的一些特性,如不可变性及元组内可变对象的处理方式。此外还介绍了元组的常用属性方法、内置函数以及元组的运算符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

元祖定义           

    python的元祖跟列表类似,不同的地方是元祖一旦创建,元素就不可以修改。

    元祖创建很简单,只需要在小括号里添加元素并以逗号隔开就可以了。

1 >>> Tuple = (1,2,3,4,5,)
2  
3  >>> type(Tuple)
4  
5 <class 'tuple'>
6  
7 >>> new_Tuple = (,)#定义空元祖

    元祖中只包含一个元素时,需要在元素后面添加一个逗号,否则会被当做运算符使用

1 >>>new_ tuple = (520)
2 >>> type(new_tuple)
3 <class 'int'>
4 
5 >>>new_ tuple1 = (50,)
6 >>> type(new_ tuple1)
7 <class 'tuple'>

    元祖与字符串相似,下标索引从0开始,

访问元祖           

元祖可以使用下标索引来访问其中的元素,例如:

 1 >>> new_tuple = ('LiuYiFei','LiXiaoLu','FanBingbing','LiBingbing')
 2 
 3 >>> print('new_tuple[1] —————>:',new_tuple[1])#访问元组
 4 new_tuple下标为1的元素
 5 
 6 new_tuple[1] —————>: LiXiaoLu
 7 
 8 >>> print('new_tuple[1:] —————>:',new_tuple[1:])#截取元祖new_tuple元素
 9   
10 
11 new_tuple[1:] —————>: ('LiXiaoLu', 'FanBingbing', 'LiBingbing')

元祖只有两个属性方法,index  count

1 >>> a = (1,2,3,1,3)
2 
3 >>> a.index(1)#查找元素的索引位置,跟列表类似
4 0
5 
6 >>> a.count(3)#统计元素的个数,跟列类似
7 2

 

 

修改元祖           

  元祖中的元素值是不可以修改的,但是我们可以对元祖进行拼接组合,如下列:

1 >>> new_tuple = ('LiuYiFei','LiXiaoLu','FanBingbing','LiBingbing')
2 
3 >>> new_tuple1 = (1,2,3,4)
4 
5 >>> new_tuple2 = new_tuple + new_tuple1   #对元祖进行拼接,用一个新的元祖来接收
6 
7 >>> print(new_tuple2)
8 
9 ('LiuYiFei', 'LiXiaoLu', 'FanBingbing', 'LiBingbing', 1, 2, 3, 4) #答印结果  

或者使用嵌套方法:

1 >>> a = ('a','b',['A','B'])
2 
3 >>> a[2][0] = 'x'
4 >>> a[2][1] = 'y'
5 
6 >>> a
7 ('a', 'b', ['x', 'y'])

  表面上看,tuple的元素确实变了,但其实变的不是tuple的元素,而是list的元素。tuple一开始指向的list并没有改成别的list,所以,tuple所谓的“不变”是说,tuple的每个元素,指向永远不变。即指向'a',就不能改成指向'b',指向一个list,就不能改成指向其他对象,但指向的这个list本身是可变的!

理解了“指向不变”后,要创建一个内容也不变的tuple怎么做?那就必须保证tuple的每一个元素本身也不能变。

 

删除元祖           

  元祖中的元素值是不可以删除的,但是我们可以使用del内置函数来删除,例如:

 1 >>> new_tuple = ('LiuYiFei','LiXiaoLu','FanBingbing','LiBingbing')
 2 
 3 >>> del(new_tuple)
 4 
 5 >>> print(new_tuple)
 6#因为我们已经把new_tuple这个元祖删除了,所以在我们调用的时候就会报错,说我们 ‘NameError: name 'new_tuple' is not defined’,new_tuple这个变量名没定义 
7 Traceback (most recent call last):  8 File "<pyshell#10>", line 1, in <module>  9  print(new_tuple) 10 NameError: name 'new_tuple' is not defined

元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。

Python 表达式结果描述
len((1, 2, 3))3计算元素个数
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)连接
('Hi!',) * 4('Hi!', 'Hi!', 'Hi!', 'Hi!')复制
3 in (1, 2, 3)True元素是否存在
for x in (1, 2, 3): print x,1 2 3迭代

 

 

 

元组内置函数

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

序号方法及描述实例
1len(tuple)
计算元组元素个数。
>>> tuple1 = ('Google', 'Runoob', 'Taobao')
>>> len(tuple1)
3
>>>
2max(tuple)
返回元组中元素最大值。
>>> tuple2 = ('5', '4', '8')
>>> max(tuple2)
'8'
>>>
3min(tuple)
返回元组中元素最小值。
>>> tuple2 = ('5', '4', '8')
>>> min(tuple2)
'4'
>>>
4tuple(seq)
将列表转换为元组。
>>> list1= ['Google', 'Taobao', 'Runoob', 'Baidu']
>>> tuple1=tuple(list1)
>>> tuple1
('Google', 'Taobao', 'Runoob', 'Baidu')

 

 

 

 

 2018-02-01

  注:以上内容均由菜鸟教程整理提供。

 

转载于:https://www.cnblogs.com/huangmeisheng/p/8398547.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值