Python中的元组:不可变序列

Python中的元组:不可变序列元组是Python中的一种不可变序列,可以用圆括号()包含多个数据项。元组中的每个数据项可以是所有数据类型,包括元组本身。

一、元组基础

元组是Python中的一种不可变序列,可以用圆括号()包含多个数据项。元组中的每个数据项可以是所有数据类型,包括元组本身。

#创建元组
tuple1 = (1, 2, 3) 
tuple2 = ('apple', 'banana', 'orange')
tuple3 = ('python', 3.7, True)

#获取元素
print(tuple1[0])  #输出1
print(tuple2[-1]) #输出'orange'

元组可以进行切片操作和使用in、not in进行成员测试。

#切片
print(tuple1[1:3])  #输出(2, 3)

#成员测试
print('apple' in tuple2)  #输出True
print(False not in tuple3) #输出True

元组是不可变的,因此无法对元组中的元素进行增、删、改操作。但可以合并、重复使用、删除整个元组。

tuple4 = tuple1 + tuple2  #合并元组
print(tuple4)  #输出(1, 2, 3, 'apple', 'banana', 'orange')

tuple5 = tuple1 * 3  #重复使用元组
print(tuple5) #输出(1, 2, 3, 1, 2, 3, 1, 2, 3)

del tuple3  #删除整个元组

二、元组的优点

与列表(list)相比,元组具有以下优点:

1、元组占用的内存空间小,元组中的数据不可修改,因此不需要额外的空间来存储修改历史记录。

2、元组可以作为字典(dict)中的键值使用,而列表不行。

3、在函数返回值时,返回一个元组可以同时返回多个值,而列表要转化为元组才能这样使用。

#元组作为字典键值使用
dict1 = {('apple', 'python'): 100}
print(dict1[('apple', 'python')])  #输出100

#函数返回多个值
def test():
    return 1, 2, 3

tuple6 = test() #返回元组(1, 2, 3)
print(tuple6)

三、元组的使用场景

元组的应用场景非常广泛,主要包括以下几个方面:

1、元组可以表示一个不变的记录,如时间戳。

time = ('2022', '12', '31', '23', '59', '59')
print('当前时间为%s年%s月%s日%s时%s分%s秒' % time)  #输出当前时间

2、元组存储一个可以保护数据不被修改的数据序列。

3、元组可以作为字典(dict)中的键值使用。

4、在函数返回值时,返回一个元组可以同时返回多个值。

#输出文件的路径、文件名和扩展名
def get_file_info(filename):
    file_info = filename.split('.')
    return file_info[0], file_info[1], file_info[2]

file_tuple = get_file_info('document.docx')
print('文件路径:%s,文件名:%s,扩展名:%s' % file_tuple)  
#输出文件路径:document,文件名:docx,扩展名:filename

四、结语

元组是Python中不可变序列的一种,可以表示一个不变的记录,保护数据不会因代码的错误修改,同时可以用于作为字典的键值和函数的返回值。掌握元组的基础操作和使用场景对于Python编程非常重要。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/22958.html

(0)
上一篇 2023-12-16
下一篇 2023-12-16

相关推荐

  • 大表建索引

    大表建索引注意:使用命令行,不要使用navicat等工具,不然会锁表。 例如:ALTER TABLE `mes_product_info` ADD INDEX `mes_product_info_udate`…

    2022-12-15
    70
  • sql语句nvl函数_sql有哪些函数

    sql语句nvl函数_sql有哪些函数NVL(exp1,exp2)函数时判断判断某个值是否为null。若为null,则返回exp2,否则返回exp1 格式1 select nvl(exp1,exp2) from db_table 例子 s

    2023-02-20
    75
  • MySQL主从之延时复制

    MySQL主从之延时复制 一、延时复制 延时从库只做备份,不提供任何对外服务,正常情况下我们是不会有刻意延迟从库的需求的,因为正常的线上业务自然是延迟越低越好。 但是针对测试场景,业务上偶尔需要测试延迟场景下业务是否…

    2023-03-27
    78
  • 数据库恢复技术的方法_数据库恢复技术方法

    数据库恢复技术的方法_数据库恢复技术方法10.1 事务的基本概念: 什么是事务?事务是用户定义的一个数据库操作序列,该操作要么全做,要么全不做,是一个不可分割的工作单位,是恢复(知识点)和并发控制(知识点)的基本单位 事务和程序的区别: 在

    2023-06-17
    63
  • 快速查找对象_怎么才能快速找到对象

    快速查找对象_怎么才能快速找到对象在SQL Server Management Studio对象,会随系统的开发,所产生的对象也会越来越多,我们可以使用SMS的过滤功能来查找对象: 参考下面步骤: 按步骤5之后,得到结果: 最后,如果

    2023-01-30
    69
  • MySQL事务(死记硬背+理解)「建议收藏」

    MySQL事务(死记硬背+理解)「建议收藏」ACID原则 ACID原则是数据库事务正常执行的四个基本原则,分别指:原子性、一致性、独立性及持久性。 1、事务的原子性(Atomicity):是指一个事务要么全部执行,要么都不执行,也就是说一个事…

    2022-12-18
    65
  • 列式存储好处_按行优先存储和按列优先存储

    列式存储好处_按行优先存储和按列优先存储大家好,我是大D。 不知是否有小伙伴们疑问,为什么列式存储会广泛地应用在 OLAP 领域,和行式存储相比,它的优势在哪里?今天我们一起来对比下这两种存储方式的差别。 其实,列式存储并不是一项新技术,最

    2023-05-17
    67
  • tomcat配置oracle数据源_怎么在oracle下载jdk

    tomcat配置oracle数据源_怎么在oracle下载jdk仅限于自己学习使用 新进公司,需要安装jdk1.6,tomcat6, oracle和pl/sql 先是jdk1.6,安装后配置环境变量,都在系统变量里,在cmd,分别打出 java -version,

    2023-02-21
    78

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注