首页 > 编程语言 >【Python】入门到放弃之第八章《元组》

【Python】入门到放弃之第八章《元组》

时间:2024-08-17 11:25:29浏览次数:17  
标签:tuple Python 元素 第八章 元组 print my

上一篇:【Python】入门到放弃之第七章《列表》
下一篇:【Python】入门到放弃之第九章《字典》

文章目录


前言

这是本系列的第八章节内容,《元组》。


一、定义

  • 元组(Tuple)是Python中的一种基本数据结构,用于存储一系列的元素,这些元素可以是不同类型的数据。与列表(List)不同,元组是不可变的,这意味着一旦创建了一个元组,就不能更改其内部元素的顺序或值。

二、创建

1.基本创建

代码如下(示例):

# 创建一个包含多个不同类型元素的元组
my_tuple = (1, 2.5, 'Python', True)
print(my_tuple)

# 创建一个只包含一个元素的元组(注意逗号)
single_element_tuple = (42,)
print(single_element_tuple)

# 实际上,即使不显式使用圆括号,只要元素之间有逗号,Python也会将其视为元组
# 但为了清晰和一致性,通常还是推荐使用圆括号
implicit_tuple = 1, 2, 3
print(implicit_tuple)

# 使用生成器表达式和tuple()函数创建一个元组
squared_tuple = tuple(x*x for x in range(1, 4))
print(squared_tuple)  # 输出: (1, 4, 9)

输出如下(示例):

(1, 2.5, 'Python', True)
(42,)
(1, 2, 3)
(1, 4, 9)

2.转换创建

  • 使用内置的tuple()函数来将其他可迭代对象(如列表、字符串、集合等)转换为元组。

代码如下(示例):

# 将列表转换为元组  
my_list = [10, 20, 30]  
my_tuple = tuple(my_list)  
print(my_tuple)  # 输出: (10, 20, 30)  
  
# 将字符串转换为元组(每个字符作为一个元素)  
my_string = "hello"  
my_char_tuple = tuple(my_string)  
print(my_char_tuple)  # 输出: ('h', 'e', 'l', 'l', 'o')

三、访问元素

  • 在Python中,访问元组(Tuple)元素是通过索引(Index)来完成的。元组的索引从0开始,直到元组的长度减1。使用方括号[]加上索引号来访问元组中的特定元素。

代码如下(示例):

# 原始元组  
# 定义一个元组  
my_tuple = (1, 'a', 3.14, True)  
  
# 访问第一个元素(索引为0)  
print(my_tuple[0])  # 输出: 1  
  
# 访问第三个元素(索引为2)  
print(my_tuple[2])  # 输出: 3.14  
  
# 访问最后一个元素(使用负索引,-1表示最后一个元素)  
print(my_tuple[-1])  # 输出: True  
  
# 尝试访问不存在的索引会抛出IndexError  
# print(my_tuple[4])  # 这会抛出一个IndexError

四、不可变性

  • 由于元组是不可变的,所以不能直接修改元组中的元素。但是,可以通过元组切片(Slicing)和拼接(Concatenation)来创建包含修改后数据的新元组。

代码如下(示例):

# 原始元组  
my_tuple = (1, 'a', 3.14, True)  
  
# 创建一个新元组,其中第一个元素被替换  
new_tuple = (10,) + my_tuple[1:]  
  
print(new_tuple) 

输出如下(示例):

(10, 'a', 3.14, True)
  • 然而,需要澄清的是,元组的不可变性是针对元组内部元素的直接修改的。虽然不能更改元组内部元素的值,但元组可以包含可变类型的元素(如列表、字典或其他可变对象)。在这种情况下,虽然不能更改元组中这些可变元素的身份(即你不能将列表替换为另一个列表),但可以更改这些可变元素内部的状态。
  • 这种特性有时会导致混淆,因为它可能让人误以为元组不是完全不可变的。但重要的是要理解,元组的不可变性是指其内部元素身份的不变性,而不是指其内部元素状态的不变性(特别是当这些元素是可变类型时)。

代码如下(示例):

# 创建一个包含列表的元组  
my_tuple = (1, [2, 3], 'a')  
  
# 我们不能更改元组中的元素身份,比如不能直接将列表替换为另一个列表  
# my_tuple[1] = [4, 5]  # 这会抛出TypeError  
  
# 但是,我们可以更改元组中列表的内部内容  
my_tuple[1].append(4)  
  
print(my_tuple) 

输出如下(示例):

(1, [2, 3, 4], 'a')

五、应用场景

  1. 需要存储一系列不可变的元素时。
  2. 由于元组是不可变的,它们可以用作字典的键(而列表则不可以)。
  3. 在某些情况下,使用元组可以提高代码的可读性和性能,因为Python在内部对元组进行了优化。

总结

以上,就是Python中元组的全部内容。元组是Python中非常有用的数据结构,虽然其本身不支持很多修改操作,但Python提供了一些内置函数来处理元组,如len()来获取元组的长度,max()和min()来获取元组中的最大和最小值(如果元组中的元素支持这些操作的话),以及tuple()函数来将其他类型的序列转换为元组。

标签:tuple,Python,元素,第八章,元组,print,my
From: https://blog.csdn.net/MP13537560060/article/details/141203366

相关文章

  • 【python学习】如何利用threading 库提升性能:深入解析与实战应用 模拟温格高的环法冠
    开头部分大家好,今天通过一个实际的小项目——模拟温格高在2023年环法自行车赛中的比赛,来深入学习Python中的threading库。threading是Python处理多线程操作的核心库,掌握它能够帮助我们更高效地进行并发编程,尤其是在处理I/O密集型任务时。我们不仅会讨论线程的基本使用方......
  • 【python学习】Asyncio库的真正力量:如何用Python编写高效并发程序
    目标读者群体及文章解决的问题这篇文章适合对Python编程有一定了解的开发者,尤其是希望深入理解并掌握异步编程的读者。通过对asyncio库的全面解析,我们将结合2023年环法冠军温格高的夺冠故事,帮助你掌握如何在Python中使用异步编程处理复杂的并发任务,避免常见的错误,并提高代......
  • Python解释器如何下载+如何安装+配置环境+踩坑 一文搞定【保姆级图文教程】
    如果你要学Python,那么第一件事情就是先去安装。因为你的电脑里面没有Python,编写好的.py文件就没有解释器可以运行,所以安装Python环境/解释器就是最重要的一件事。PS:本文仅为笔记,为个人整理而成,如有不足之处请多多指正。目录第一步:下载1.官方网站2.镜像源网站第二步......
  • 基于Python+Flask实现宿舍管理系统
    作者主页:编程千纸鹤作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待......
  • 基于Python爬虫实现招聘数据分析可视化大屏
    作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验,被多个学校常年聘为校外企业导师,指导学生毕业设计并参与学生毕业答辩指导,有较为丰富的相关经验。期待与各位高校教师、企业......
  • 快速排序算法详解及Python实现
    目录引言快速排序算法步骤快速排序的Python实现性能分析注意事项引言快速排序(QuickSort)是一种高效的排序算法,由C.A.R.Hoare在1960年提出。它的基本思想是:通过一趟排序将待排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据要小,然后再按此......
  • python入门篇-day04-函数
    介绍概述函数也叫方法,可以用单词Function(函数,功能),Method(方法)来表示.函数=把具有独立功能的代码封装到一起,使其成为具有特殊功能的代码集.好处提到代码的复用性.模块化编程.格式def函数名(形式参数1,形参2...):  函数体,就是以前写的逻辑代......
  • python入门篇-day05-函数进阶
    函数返回多个值不管返回多少都会默认封装成一个元组的形式返回(可以自定义返回的数据类型,如:[]{})思考:1个函数可以同时返回多个结果(返回值)?答案:错误,因为1个函数只能返回1个结果,如果同时返回多个值则会封装成1个元素进行返回.演示#需求:定义函数my_cal......
  • Python教程(十五):IO 编程
    目录专栏列表引言基础概念什么是IO?同步IOvs异步IO同步IO(SynchronousIO)异步IO(AsynchronousIO)Python中的IO标准IO标准输入和输出文件IO文件操作的上下文管理器打开文件读取文件操作内存中的数据高级文件操作读写二进制文件使用文件指针网络IO使用`requests`库使用......
  • python自学
    基础语法字面量定义:在代码中,被写下来的值,称之为字面量类型:python中常用的有6种数据类型数字整数(int)浮点数(float)复数(complex),如4+3j布尔(bool):True本质为1,False本质为0字符串(String)字符串需要使用'xxx',"xxx"或者'''xxx'''格式,而三引号中的字符串可以跨行。......