【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’])

目录
相关文章
|
17天前
|
数据采集 数据可视化 数据挖掘
利用Python自动化处理Excel数据:从基础到进阶####
本文旨在为读者提供一个全面的指南,通过Python编程语言实现Excel数据的自动化处理。无论你是初学者还是有经验的开发者,本文都将帮助你掌握Pandas和openpyxl这两个强大的库,从而提升数据处理的效率和准确性。我们将从环境设置开始,逐步深入到数据读取、清洗、分析和可视化等各个环节,最终实现一个实际的自动化项目案例。 ####
|
15天前
|
数据采集 分布式计算 大数据
构建高效的数据管道:使用Python进行ETL任务
在数据驱动的世界中,高效地处理和移动数据是至关重要的。本文将引导你通过一个实际的Python ETL(提取、转换、加载)项目,从概念到实现。我们将探索如何设计一个灵活且可扩展的数据管道,确保数据的准确性和完整性。无论你是数据工程师、分析师还是任何对数据处理感兴趣的人,这篇文章都将成为你工具箱中的宝贵资源。
|
25天前
|
开发者 Docker Python
从零开始:使用Docker容器化你的Python Web应用
从零开始:使用Docker容器化你的Python Web应用
34 1
|
28天前
|
传感器 物联网 开发者
使用Python读取串行设备的温度数据
本文介绍了如何使用Python通过串行接口(如UART、RS-232或RS-485)读取温度传感器的数据。详细步骤包括硬件连接、安装`pyserial`库、配置串行端口、发送请求及解析响应等。适合嵌入式系统和物联网应用开发者参考。
45 3
|
1月前
|
图形学 Python
SciPy 空间数据2
凸包(Convex Hull)是计算几何中的概念,指包含给定点集的所有凸集的交集。可以通过 `ConvexHull()` 方法创建凸包。示例代码展示了如何使用 `scipy` 库和 `matplotlib` 绘制给定点集的凸包。
28 1
|
29天前
|
数据采集 JavaScript 程序员
探索CSDN博客数据:使用Python爬虫技术
本文介绍了如何利用Python的requests和pyquery库爬取CSDN博客数据,包括环境准备、代码解析及注意事项,适合初学者学习。
74 0
|
1月前
|
数据采集 存储 分布式计算
超酷炫Python技术:交通数据的多维度分析
超酷炫Python技术:交通数据的多维度分析
|
11天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
141 77
|
19天前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
|
3天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
18 3
实战~如何组织一个多容器项目docker-compose