Python元组(Tuple)核心特性与操作详解
本文深入解析Python中元组(Tuple)的核心原理。元组被视为只读列表,支持索引、切片等查询操作,但数据一旦创建不可修改或删除。文章详细演示了元组的定义方法、元素访问技巧,以及元组与列表之间的相互转换实现,并对比了元组、列表与字符串在语法写法上的关键区别,帮助开发者掌握这一基础数据结构。
本文旨在简明扼要地介绍Python中元组(Tuple)的相关原理。文中通过具体的示例代码进行了详细阐述,内容对读者的学习或实际工作具有较高的参考价值,建议相关读者仔细阅读并参考。
元组的基本特性
元组(Tuple)在结构上与列表(List)相似,但具备以下显著特征:
1. 元组由一个或多个元素组成,这些元素的类型可以相同,也可以不同;
2. 元组中的元素必须包含在圆括号()内部,且各元素之间使用逗号(,)进行分隔;
3. 元组是一个有序集合,其下标索引默认从0开始,这一特性与字符串类似;
4. 元组中的数据具有不可变性,即不能被修改。
元组
元组常被称为“只读列表”。列表所支持的大部分函数,元组同样支持。两者唯一的区别在于,元组中的数据一旦定义便无法修改,这意味着既不能删除元组中的元素,也不能直接对元组中的元素进行赋值操作。
元组的定义方法
一. 元组(Tuple)的定义
# !usr/bin/env python
# -*- coding:utf-8 _*-
"""
@Author:何以解忧
@Blog(个人博客地址): shuopython.com
@WeChat Official Account(微信公众号):猿说python
@Github:www.github.com
@File:python_tuple.py
@Time:2019/9/26 20:45
@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
"""
tuple1 = tuple() # 定义一个空元组,元组的数据不能修改,意味永远都是一个空元组
print(tuple1)
print(type(tuple1)) # 获取数据类型
tuple2 = ("python","study") # 定义元组tuple2 ,该元组由两个字符串数据构成
print(tuple2)
tuple3= ("python","s",False,2.5) # 定义元组tuple3 ,该元组中的数据可以由不同类型的数据构成
print(tuple3)
输出结果如下:
()
<class 'tuple'>
('python', 'study')
('python', 's', False, 2.5)
元组的查询操作
二. 元组(Tuple)的查询操作
元组的查询方式与列表类似,可以直接通过下标索引来访问元组中的数据。具体演示代码如下:
tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成
print(type(tuple1)) # 通过内置函数type获取数据类型
print(tuple1)
print(tuple1[1]) # 获取元组中索引值为1 的数据
print(tuple1[len(tuple1)-1]) # 获取元组中的最后一个元素,注意是len(tuple)-1,并非len(tuple)
print(tuple1[1:4]) # 获取元组索引值1-4的数据
print(tuple1[:5]) # 如果冒号之前没有设置参数,默认重0开始,表示获取元组索引值0-5的数据
print(tuple1[3:]) # 如果冒号之后没有设置参数,默认到元组最后一个数据介绍,包括最后一个数据
输出结果如下:
<class 'tuple'>
('python', 's', False, 2.5, 40, 'tuple')
s
tuple
('s', False, 2.5)
('python', 's', False, 2.5, 40)
(2.5, 40, 'tuple')
元组的不可变性限制
三. 元组(Tuple)不支持删除或修改数据
元组中的数据仅支持读取,不支持修改或删除。若尝试对元组数据进行删除或修改操作,程序将抛出错误。代码演示如下:
# 测试修改元组数据
tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成
tuple1[0] = False
编译器将报错:TypeError: ‘tuple' object does not support item assignment(翻译:元组不支持修改)
# 测试删除元组数据
tuple1= ("python","s",False,2.5,40,"tuple") # 元组中的数据可以由不同类型的数据构成
del tuple1[0]
编译器将报错:TypeError: ‘tuple' object doesn't support item deletion(翻译:元组不支持删除)
元组与列表的转换
四. 元组(Tuple)与列表(List)的相互转换
两者之间可以通过强制类型转换直接实现,具体演示代码如下:
# 元组tuple 转为 列表list
tuple1= ("python","s",False,2.5,40,"tuple")
list1 = list(tuple1)
print("tuple1数据类型是:",type(tuple1))
print("list1数据类型是:",type(list1))
print("***"*20) # 小窍门:直接打印60个*
# 列表list 转为 元组tuple
list2 = [False,"好好学习",0,3.14]
tuple2 = tuple(list2)
print("tuple2数据类型是:",type(tuple2))
print("list2数据类型是:",type(list2))
输出结果如下:
tuple1数据类型是: <class 'tuple'>
list1数据类型是: <class 'list'>
************************************************************
tuple2数据类型是: <class 'tuple'>
list2数据类型是: <class 'list'>
核心要点总结
五. 重点总结
1. 需特别注意元组与列表的区别:元组的数据不可修改,其余使用方式与列表基本一致。
2. 需区分元组(Tuple)、列表(List)和字符串(Str)三者的语法写法差异:
a = "python教程" # 字符串
b = ["python教程"] # 列表,列表中只有一个字符串数据
c = ("python教程") # 元组,元组中只有一个字符串数据
以上就是本文的全部内容,希望能为各位的学习提供有益帮助,同时也欢迎大家多多支持本站。
免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。









