首页 > 编程语言 >06_Python数据类型_元组

06_Python数据类型_元组

时间:2024-09-15 23:25:21浏览次数:8  
标签:06 tuple Python list 数据类型 元组 运算符 print my

在这里插入图片描述

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

如有问题请留言。

标签:06,tuple,Python,list,数据类型,元组,运算符,print,my
From: https://blog.csdn.net/fx_yzjy101/article/details/142290685

相关文章

  • 【Python学习笔记】 第8章 列表与字典
    列表Python的列表是:任意对象的有序集合通过偏移访问可变长度、异构以及任意嵌套属于“可变序列”的分类对象引用数组下表是常见/具有代表性的列表对象操作:操作解释L=[]一个空的列表L=[123,'abc',1.23,{}]有四个项的列表,索引从0到3L=......
  • 使用python抽取post接口数据示例
    postman调用接口post接口https://inner-XXXXX.XXXXX.com/wXX/api/XXXXXctoryLake?user_key=XXXXXXXXXXXX,在boday的row里输入Jason格式的{"wasStartDay":"2024-09-03"} importrequestsurl='https://inner-XXXXX.XXXXX.com/wXX/api/XXXXXctoryLake'da......
  • Python调用C语言动态链接库
    调用方法如果觉得Python性能不够,可以使用C、C++或Rust、Golang为按标准C类型。为Python编写扩展。Python通过自带的ctypes模块,可以加载并调用C标准动态链接库(如.ddl或.so)中的函数。常用的操作为:importctypes#加载动态链接库lib=ctypes.CDLL("./xxx.so")#声明要调......
  • python爬虫连载21
    XPath轴轴定义了当前节点和所选节点的树关系,绝对路径,以正斜杠开始(/),例如/step1/step2/……相对路径,不以正斜杠开始(/),例如step/step2/……步(step)的语法:轴(axis)::节点测试(node-test)[谓语]谓语是零个或者多个。 轴名称含义child选取当前节点的所有子元素parent选取当前节点的......
  • 【Python】基本使用
    目录变量的类型整数int浮点数float字符串str字符串长度格式化字符串布尔类型  动态类型注释 获取输入浮点数比较多元赋值for循环函数的定义和调用创建函数/定义函数调用函数/使用函数列表创建列表切片操作遍历列表新增元素判断元素是否在列表中......
  • 【Python】01.Python 介绍及其环境配置
    一、计算机的基础概念1.1什么是计算机所谓计算机,不光能进行算术运算,还能进行逻辑判断、数据存储、网络通信等等功能,以至于可以自动的完成非常复杂的工作。以下这些都可以称为“计算机”:1.2冯诺依曼体系结构而一台计算机通常由这几个部分组成:CPU存储器(内存,硬盘......
  • 【题解】【动态规划】—— [NOIP2006 普及组] 开心的金明
    【题解】【动态规划】——[NOIP2006普及组]开心的金明[NOIP2006普及组]开心的金明题目描述输入格式输出格式输入输出样例输入#1输出#1提示1.题意解析2.AC代码2.1.二维d......
  • 使用python对交换机进行排障自动化运维
    importparamikoimportosimporttimeimportrandomimportdatetimeimportpandasaspdimportreimportnumpyasnp#fromsqlalchemyimporttext,create_engine#importpsycopg2#frompsycopg2importsql#fromsqlalchemy.ormimportsessionmaker#from......
  • python+flask计算机毕业设计社区医疗服务管理系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景随着城市化进程的加快和人口老龄化的加剧,社区医疗服务在居民健康管理中扮演着越来越重要的角色。传统的社区医疗服务模式面临着信息孤岛、......
  • python+flask计算机毕业设计失物招领系统(程序+开题+论文)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容研究背景在快节奏的现代生活中,人们频繁地穿梭于各种公共场所,如学校、商场、交通枢纽等,不可避免地会出现物品遗失或错拿的情况。传统的失物招领方式......