热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python数据结构学习整理元组

元组的定义-元组是有序的不可变对象的集合-元组使用下括号包围,各个对象之间使用逗号分隔-元组是异构的,可以包含多种数据类型元组的使用-创建1.直接使用逗号分隔#1.直接使

"""元组的定义
- 元组是有序的不可变对象的集合
- 元组使用下括号包围,各个对象之间使用逗号分隔
- 元组是异构的,可以包含多种数据类型
"""



  • 元组的使用-创建

1. 直接使用逗号分隔

# 1. 直接使用逗号分隔
tup1 = 1, 2, 3, 4, 5
print(type(tup1), tup1)

2. 通过小括号填充元素

# 2. 通过小括号填充元素
tup2 = (1, 2, 3, 4, 5)
print(type(tup2), tup2)

3. 通过构造函数tuple(iterable)

# 3. 通过构造函数tuple(iterable)
tup3 = tuple()
print(type(tup3), tup3)
# 赋值为字符串对象
tup4 = tuple('testing')
print(type(tup4), tup4)
# 赋值为列表对象
tup5 = tuple([1, 2, 3, 4, 5])
print(type(tup5), tup5)

4. 注意:单元素元组,逗号不可或缺

# 4. 注意:单元素元组,逗号不可或缺
tup6 = 1,
print(type(tup6), tup6)
tup7
= (1,)
print(type(tup7), tup7)
# 若不加逗号,则返回的是一个int类型的值
tup8 = (8)
print(type(tup8), tup8)



  • 元组的使用-索引

"""元组的使用: 索引"""
tup9
= tuple("hefei")
# 1. 正向索引
print(tup9[2])
# 2. 反向索引
print(tup9[-2])



  • 元组的使用-切片

"""元组的使用:切片
- 切片[start:stop:step]
- 三个值都是可选的,非必填
- start值:指示开始索引值,如果没有指定,则默认开始值为0;
- stop值: 指示到哪个索引值结束,但不包括这个结束索引值。如果没有指定,则取列表允许的最大索引值;
- step值: 步长值指示每一步大小,如果没有指定,则默认步长为1
"""

# 1. [start:stop:step]
tup10 = tuple("hefeiwtt")
print(tup10)
print(tup10[0:3:1])
# 2. 将元组反转
print(tup10[::-1])



  • 元组的方法-index()

"""元组常用方法index()
- index(item)
- 入参:对象item
- 返回:与目标元素相匹配的首个元素的索引
- 目标必须在元组中存在的,否则会报错
"""

tup11 = tuple("hefeiwtt")
# 1. index(item)
print(tup11.index('t'))
# 2. 不存在,会报ValueError错误
#
print(tup11.index('o'))



  • 元组的方法-count()

"""元组常用方法count()
- count(item): 返回某个元素出现的次数
- 入参: 对象item
- 返回: 次数
"""

# 1. count(item)
tup12 = tuple("hefeiwtt")
print(tup12.count('t'))



  • 元组解包

"""元组解包
- 把一个可迭代对象里的元素,一并赋值到由对应的变量组成的元组中
"""

tup13 = 1, 2, 3
# 1. 传统逐个赋值
a = tup13[0]
b
= tup13[1]
c
= tup13[2]
print(a, b, c)
# 2. 解包平行赋值
a, b, c = tup13
print(a, b, c)



  • 元组与列表

"""元组和列表
- 相同点:
- 都是有序的
- 都是异构的,能够包含不同类型的对象
- 都支持索引和切片
- 区别
- 声明方式不同,元组使用(),列表使用[]
- 列表是可变的,元组是不可变的
"""

推荐阅读
  • 深入理解Tornado模板系统
    本文详细介绍了Tornado框架中模板系统的使用方法。Tornado自带的轻量级、高效且灵活的模板语言位于tornado.template模块,支持嵌入Python代码片段,帮助开发者快速构建动态网页。 ... [详细]
  • 1.如何在运行状态查看源代码?查看函数的源代码,我们通常会使用IDE来完成。比如在PyCharm中,你可以Ctrl+鼠标点击进入函数的源代码。那如果没有IDE呢?当我们想使用一个函 ... [详细]
  • 深入理解C++中的KMP算法:高效字符串匹配的利器
    本文详细介绍C++中实现KMP算法的方法,探讨其在字符串匹配问题上的优势。通过对比暴力匹配(BF)算法,展示KMP算法如何利用前缀表优化匹配过程,显著提升效率。 ... [详细]
  • 探讨一个显示数字的故障计算器,它支持两种操作:将当前数字乘以2或减去1。本文将详细介绍如何用最少的操作次数将初始值X转换为目标值Y。 ... [详细]
  • 在Ubuntu 16.04 LTS上配置Qt Creator开发环境
    本文详细介绍了如何在Ubuntu 16.04 LTS系统中安装和配置Qt Creator,涵盖了从下载到安装的全过程,并提供了常见问题的解决方案。 ... [详细]
  • Python自动化处理:从Word文档提取内容并生成带水印的PDF
    本文介绍如何利用Python实现从特定网站下载Word文档,去除水印并添加自定义水印,最终将文档转换为PDF格式。该方法适用于批量处理和自动化需求。 ... [详细]
  • 本文详细解析了如何使用Python语言在STM32硬件平台上实现高效的编程和快速的应用开发。通过具体的代码示例,展示了Python简洁而强大的特性。 ... [详细]
  • 本文详细解析了Python中的os和sys模块,介绍了它们的功能、常用方法及其在实际编程中的应用。 ... [详细]
  • 如何在PostgreSQL中查看数据表
    本文将指导您使用pgAdmin工具连接到PostgreSQL数据库,并展示如何浏览和查找其中的数据表。通过简单的步骤,您可以轻松访问所需的表结构和数据。 ... [详细]
  • 离线环境下的Python及其第三方库安装指南
    在项目开发中,有时会遇到电脑只能连接内网或完全无法联网的情况。本文将详细介绍如何在这种环境下安装Python及其所需的第三方库,确保开发工作的顺利进行。 ... [详细]
  • 掌握远程执行Linux脚本和命令的技巧
    本文将详细介绍如何利用Python的Paramiko库实现远程执行Linux脚本和命令,帮助读者快速掌握这一实用技能。通过具体的示例和详尽的解释,让初学者也能轻松上手。 ... [详细]
  • 本文探讨了如何在给定整数N的情况下,找到两个不同的整数a和b,使得它们的和最大,并且满足特定的数学条件。 ... [详细]
  • 本文介绍如何使用 Python 提取和替换 .docx 文件中的图片。.docx 文件本质上是压缩文件,通过解压可以访问其中的图片资源。此外,我们还将探讨使用第三方库 docx 的方法来简化这一过程。 ... [详细]
  • 自学编程与计算机专业背景者的差异分析
    本文探讨了自学编程者和计算机专业毕业生在技能、知识结构及职业发展上的不同之处,结合实际案例分析两者的优势与劣势。 ... [详细]
  • 本文介绍了在Windows环境下使用pydoc工具的方法,并详细解释了如何通过命令行和浏览器查看Python内置函数的文档。此外,还提供了关于raw_input和open函数的具体用法和功能说明。 ... [详细]
author-avatar
聆听最遥远的歌声
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有