欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 锐评 > 06_Python数据类型_元组

06_Python数据类型_元组

2024/10/25 6:27:43 来源:https://blog.csdn.net/fx_yzjy101/article/details/142290685  浏览:    关键词:06_Python数据类型_元组

在这里插入图片描述

Python的基础数据类型

  • 数值类型:整数、浮点数、复数、布尔
  • 字符串
  • 容器类型:列表、元祖、字典、集合

元组

  • 元组(Tuple)是一种不可变的序列类型,与列表类似,但有一些关键的区别。
  • 本质:只读的列表(list)

定义元组

元组是由圆括号 () 包围的元素集合,元素之间用逗号分隔。元组一旦创建,其内容不能被修改。

# 创建一个空元组
empty_tuple = ()# 创建一个包含几个元素的元组
my_tuple = (1, 2, 3, 'a', 'b', 'c')

访问元组元素

与列表一样,元组中的元素是有序的,可以通过索引来访问。

# 访问第一个元素
first_element = my_tuple[0]  # 结果是 1
print(first_element)
# 访问最后一个元素
last_element = my_tuple[-1]  # 结果是 'c'
print(last_element)

元组切片

元组也支持切片操作。

# 获取从索引1到索引3(不包括索引3)的元素
sub_tuple = my_tuple[1:4]  # 结果是 (2, 3, 'a')
print(sub_tuple)

元组不可变性

元组是不可变的,这意味着你不能修改元组中的元素。

# 尝试修改元组中的元素会导致TypeError
# my_tuple[0] = 'one'  # 这行代码会抛出错误

元组与列表的转换

可以使用 tuple() 函数将列表转换为元组,使用 list() 函数将元组转换为列表。

# 将列表转换为元组
my_list = [1, 2, 3]
my_tuple = tuple(my_list)
print(my_tuple)
# 将元组转换为列表
my_list_again = list(my_tuple)
print(my_list_again)

元组的优势

尽管元组是不可变的,但它们在以下情况下非常有用:

  • 当你需要确保数据不会被意外修改时。
  • 当你需要一个不可变的序列作为字典的键时。
  • 当你从函数返回多个值时。

元组运算符

元组支持以下运算符:

  • 索引运算符 []
  • 切片运算符 [:]
  • 成员运算符 in 和 not in
  • 身份运算符 is 和 is not

元组与浅拷贝、深拷贝

由于元组是不可变的,通常不需要对元组进行浅拷贝或深拷贝。当你尝试对元组进行浅拷贝或深拷贝时,实际上会返回元组本身,因为它的内容无法改变。

import copy# 浅拷贝和深拷贝元组
my_tuple = (1, 2, 3)
shallow_copied_tuple = copy.copy(my_tuple)  # 返回元组本身
deep_copied_tuple = copy.deepcopy(my_tuple)  # 也返回元组本身
# 在这里,shallow_copied_tuple 和 deep_copied_tuple 都是 my_tuple 的引用,因为元组不可变,所以没有必要创建副本。
print(id(shallow_copied_tuple))
print(id(deep_copied_tuple))

附件

本文对应的jupyter notebook源码链接,欢迎下载练习:https://download.csdn.net/download/fx_yzjy101/89757860

如有问题请留言。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com