【Python基础】Python数据容器(元组)

简介: 【Python基础】Python数据容器(元组)

数据容器:tuple(元组)

元组的定义格式

元组定义:定义元组使用小括号,且使用逗号隔开各个数据,数据可以是不同的数据类型。

  • 定义元组字面量
    (元素, 元素,…, 元素)
  • 定义元素变量
    变量名称 = (元素, 元素,…, 元素)
  • 定义空元组
    变量名称 = () # 方式1
    变量名称 = tuple() # 方式2 # 该写法就是得到一个元组的类对象
# 定义元组
t1 = (1, "hello", True)
t2 = ()
t3 = tuple()
print(f"t1的类型是:{type(t1)},内容是:{t1}")
print(f"t2的类型是:{type(t2)},内容是:{t2}")
print(f"t3的类型是:{type(t3)},内容是:{t3}")
# 定义单个元素的元组 【单个元素一定要在该元素后面加一个逗号才是元组】
t4 = ("hello")
print(f"t4的类型是:{type(t4)},t4的内容是:{t4}")
t5 = ("hello", )
print(f"t5的类型是:{type(t5)},t5的内容是:{t5}")
# 元组的嵌套
t6 = ((1, 2), (3, 4))
print(f"t6的类型是:{type(t6)},t6的内容是:{t6}")
# 下标索引取出内容
element = t6[1][1]
print(f"从嵌套元组中取出元素:{element}")

运行效果:

t1的类型是:<class ‘tuple’>,内容是:(1, ‘hello’, True)

t2的类型是:<class ‘tuple’>,内容是:()

t3的类型是:<class ‘tuple’>,内容是:()

t4的类型是:<class ‘str’>,t4的内容是:hello

t5的类型是:<class ‘tuple’>,t5的内容是:(‘hello’,)

t6的类型是:<class ‘tuple’>,t6的内容是:((1, 2), (3, 4))

从嵌套元组中取出元素:4

元组的相关操作

# 元组的操作:index查找方法
t7 = ("hi", "hello", "python")
index = t7.index("hello")
print(f"元组t7中 hello的下标是:{index}")
# 元组的操作:count统计方法
t8 = ("hi", "hello", "python", "hi")
num = t8.count("hi")
print(f"元组t8中 统计hi的数量有:{num}个")
# 元组的操作:len函数统计元组的元素数量
t9 = ("hi", "hello", "python", "您好")
num = len(t9)
print(f"元组t9中共有元素:{num}")
# 元组的遍历:while # 元组支持下标索引,所以可以用while
index = 0
while index < len(t9):
    print(f"while:元组t9的元素:{t9[index]}")
    # 至关重要
    index += 1
# 元组的遍历:for
for element in t9:
    print(f"for:元组t9的元素:{element}")

元组的相关操作-注意事项

  • 不可以修改元组内容,否则会直接报错
  • 可以修改元组内list的内容(修改元素、增加、删除、反转等)

元组的特点

  • 可以容纳多个数据
  • 可以容纳不同类型的数据(混装)
  • 数据是有序存储的(下标索引)
  • 允许重复数据存在
  • 不可以修改(增加或删除元素等)【如果元组里嵌套了list,那么list里的元素是可以修改的】
  • 支持for循环、while循环

多数特性和list一致(有序、有任意元素、允许重复元素),不同点在于不可修改的特性

  • 练习案例:元组的基本操作
# 元组的基本操作
# 定义一个元组,记录的是一个学生的信息(姓名,年龄,爱好)
t10 = ("mary", 14, ["draw", "volleyball"])
# 1、查询年龄下标
index = t10.index(14)
print(f"年龄所在下标:{index}")
# 2、查询学生姓名
name = t10[0]
print(f"name:{name}")
# 3、删除学生爱好中的draw
# del t10[2][0]
t10[2].remove("draw")
print(f"删除操作之后,学生的爱好:{t10[2]}")
print(f"当前元组:{t10}")
# 4、增加爱好coding
t10[2].append("coding")
print(f"添加之后,学生的爱好:{t10[2]}")
print(f"当前元组:{t10}")

运行效果:

年龄所在下标:1

name:mary

删除操作之后,学生的爱好:[‘volleyball’]

当前元组:(‘mary’, 14, [‘volleyball’])

添加之后,学生的爱好:[‘volleyball’, ‘coding’]

当前元组:(‘mary’, 14, [‘volleyball’, ‘coding’])

目录
相关文章
|
7天前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
16 1
|
8天前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
9天前
|
数据采集 Web App开发 iOS开发
如何使用 Python 语言的正则表达式进行网页数据的爬取?
使用 Python 进行网页数据爬取的步骤包括:1. 安装必要库(requests、re、bs4);2. 发送 HTTP 请求获取网页内容;3. 使用正则表达式提取数据;4. 数据清洗和处理;5. 循环遍历多个页面。通过这些步骤,可以高效地从网页中提取所需信息。
WK
|
21天前
|
Python
python元组与列表的转换
在 Python 中,元组(tuple)和列表(list)是两种常用的数据结构,它们之间可以相互转换
WK
27 9
WK
|
21天前
|
Python
Python创建元组
必须在这个元素后面加上一个逗号,否则 Python 会把它当作一个普通的带圆括号的表达式而不是元组
WK
14 4
WK
|
21天前
|
数据处理 Python
Python空元组作用有哪些
空元组在Python中可能不像包含元素的元组那样直接用于数据处理,但它们仍然可以在多种情境下发挥重要作用
WK
18 2
|
21天前
|
数据可视化 算法 JavaScript
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
本文探讨了如何利用图论分析时间序列数据的平稳性和连通性。通过将时间序列数据转换为图结构,计算片段间的相似性,并构建连通图,可以揭示数据中的隐藏模式。文章介绍了平稳性的概念,提出了基于图的平稳性度量,并展示了图分区在可视化平稳性中的应用。此外,还模拟了不同平稳性和非平稳性程度的信号,分析了图度量的变化,为时间序列数据分析提供了新视角。
48 0
基于图论的时间序列数据平稳性与连通性分析:利用图形、数学和 Python 揭示时间序列数据中的隐藏模式
|
7天前
|
索引 Python
SciPy 空间数据1
SciPy 通过 `scipy.spatial` 模块处理空间数据,如判断点是否在边界内、计算最近点等。三角测量是通过测量角度来确定目标距离的方法。多边形的三角测量可将其分解为多个三角形,用于计算面积。Delaunay 三角剖分是一种常用方法,可以对一系列点进行三角剖分。示例代码展示了如何使用 `Delaunay()` 函数创建三角形并绘制。
15 0
|
3天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
13 2
|
9天前
|
关系型数据库 MySQL API