Python学习: tuple类型详解

注意:由于Python2将不再更新,为了避免大家混淆,以下的代码语法及特性都是基于Python3。

  今天来聊聊Python的tuple(元组)类型,如果用一句话概括,那tuple类型就是“只读”的list,因为它有list类型大部分方法和特性。那你可能要问,为什么还要有tuple类型?原因就是正因为它的“只读”特性,在操作速度和安全性上会比list更快更好。
1.元组创建及取值(注意:任意无符号的对象,以逗号隔开即创建为元组)

>>> tuple1=(1, 2, 'three', 5.1, ['six', 7])    #( )可以有,也可以没有
>>> print(tuple1)
(1, 2, 'three', 5.1, ['six', 7])
>>> tuple1[2]                   #取下标索引为2的值
'three'
>>> tuple1[2:]                 #取下标索引为2及以后的所有值
('three', 5.1, ['six', 7])
>>> tuple1[3:5]                #取下标索引为3到5的值
(5.1, ['six', 7])

>>> tuple2=()           #创建空元组必须有()
>>> type(tuple2)
<class 'tuple'>
>>> 

#当元组只有一个元素
>>> tuple3 = ('one')          #不加逗号为原类型
>>> type(tuple3)
<class 'str'>
>>> tuple3 = ('one',)           #加逗号为tuple类型
>>> type(tuple3)
<class 'tuple'>

#可以一次赋多值
>>> (x, y, z)=(1, 2, 3)
>>> print (x, y, z)
1 2 3

2.元组的修改与删除(注意:元组的元素是不能修改和删除的)

# 创建两个元组
>>> tuple5 = 1, 2
>>> tuple6 = (3, 5, 'seven')

>>> tuple6[1] = 50                     #当试图修改元组元素时,会提示错误
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> tuple7 = tuple5 + tuple6[2:]        #但我们可以拼接组成新元组
>>> print(tuple7)
(1, 2, 'seven')

#删除元组
>>> print(tuple6)           #打印出tuple6元素
(3, 5, 'seven')
>>> del tuple6              #删除元组
>>> print(tuple6)         #再次打印,报错提示未定义
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'tuple6' is not defined

3.tuple的内置函数与方法

#元组中的函数
>>> tuple8 = (1, 2, 3, 4, 5)             #创建元组
>>> len(tuple8)                  #返回元组元素个数
5
>>> min(tuple8)                 #返回元组中最小元素
1
>>> max(tuple8)                #返回元组中最大元素
5
>>> list8 = [1, 2, 3, 4, 5]       #创建和元组元素一样的list
>>> tuple8 == list8               #直接比较tuple8和list8,返回False
False
>>> tuple8 == tuple(list8)     #将list8用tuple函数转换后再比较,返回True
True

#元组中的方法
>>> tuple8.count(5)          #返回元素5在元组中出现的次数
1
>>> tuple8.index(3)          #返回元素3在元组中的索引值
2

4.tuple和list对比

  • tuple创建用小括号,list创建用方括号;
  • tuple不能增加、修改、删除元素,但list可以;
  • tuple操作速度比list快;
  • tuple可以转换为list,list也可以转换为tuple;
  • tuple和list都可以一次赋多值。

5.总结
  通过学习元组的特性,除了操作速度快,在一些场景中,因为其不可变性本身也提供了完整性。比如使用元组来实现函数的多返回值,作为参数传递给函数调用,或是从函数调用那里获得参数时,可以保护其内容不被外部接口所修改。

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Python中的tuple是一个不可变的有序集合,用圆括号()表示。与列表(list)不同,元组的元素不能被修改。你可以使用len()函数来获取元组的长度,使用max()函数和min()函数来获取元组中的最大值和最小值。如果你想将列表转换为元组,可以使用tuple()函数。在循环中,你可以使用for循环来遍历元组中的元素。下面是一个例子: ```python my_tuple=(1,2,3,4,5,6,7,8,9,100,200,260) print(len(my_tuple)) # 输出元组的长度 print(max(my_tuple)) # 输出元组中的最大值 print(min(my_tuple)) # 输出元组中的最小值 my_list=[1,2,3,,5,6,7] print(tuple(my_list)) # 将列表转换为元组 print(type(tuple(my_list))) # 输出转换后的元组类型 for i in my_tuple: print(i) # 遍历元组并打印每个元素 ``` 另外,元组的一般定义形式是使用圆括号括起来的,例如:`(1,2,3,4,5,6,'a',"您好")`。你也可以使用逗号分隔的值来定义元组,例如:`tuple2="1","2","3",4,5,6,'b'`。使用空的圆括号或tuple()可以定义空的元组,例如:`tuple3=()`或`tuple4=tuple()`。当元组只有一个元素时,应该在元素后面加上逗号,例如:`tuple5=(1,)`。你可以使用type()函数来检查元组类型并使用print()函数来输出元组的内容。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Python元组(tuple)详解](https://blog.csdn.net/qq_45096273/article/details/107433292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值