Python - 数据容器tuple(元组)

简介: Python - 数据容器tuple(元组)

定义元组

元组同列表一样,都是可以封装多个、不同类型的元素在内。

但最大的不同点在于:

元组一旦定义完成,就不可修改

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

元组也支持嵌套:

t1=(1,"hello",False)
print(t1)
print(type(t1))
t11="a",1,True
print(t11)
print(type(t11))
t2=((1,2,3),[4,5,6])
print(t2[0][-1])
print(t2[1][0])

(1, 'hello', False)

<class 'tuple'>

('a', 1, True)

<class 'tuple'>

3

4


注意:元组只有一个数据,这个数据后面要添加逗号

t1=("hello",)
t2=("hello")
print(t1)
print(type(t1))
print(t2)
print(type(t2))

('hello',)

<class 'tuple'>

hello

<class 'str'>

否则类型为字符串,而不是元组

元组的相关操作

除了不可修改,元组与列表的操作几乎一模一样

修改元组

元组中的元素值是 不允许修改 的,但我们可以对元组进行连接组合,如下实例:

my_tuple1=("hello",[1,2,3])
my_tuple2=(True,666)
t=my_tuple1+my_tuple2
print(t)

('hello', [1, 2, 3], True, 666)

值得注意的是 :

不可以修改元组的内容,否则会直接报错

my_tuple=("hello",[1,2,3])
my_tuple[1]=[4,5,6]

但可以修改元组内的list的内容(修改元素、增加、删除、反转等)

my_tuple=("hello",[1,2,3])
#my_tuple[1]=[4,5,6]
my_tuple[1][0]=True
print(my_tuple)

('hello', [True, 2, 3])


甚至可以提出来修改

my_tuple1=("hello",[1,2,3])
list_1=my_tuple1[1]
list_1[0]=666
print(my_tuple1)

('hello', [666, 2, 3])

元组的删除

不可用pop,只能用del全删

my_tuple1=("hello",[1,2,3])
#tmp=my_tuple1.pop(0)
del my_tuple1
print(my_tuple1)

报错:因为已经将my_tuple1连同名字都删了


Traceback (most recent call last):

 File "C:\顺序.py\y.py", line 5, in <module>

   print(my_tuple1)

NameError: name 'my_tuple1' is not defined

转换为元组tuple

my_list = [1, 2, 3, 4, 5]
my_tuple = (1, 2, 3, 4, 5)
my_str = "abcdefg"
my_set = {1, 2, 3, 4, 5}
my_dict = {"key1": 1, "key2": 2, "key3": 3, "key4": 4, "key5": 5}
# 类型转换: 容器转元组
print(f"列表转元组的结果是:{tuple(my_list)}")
print(f"元组转元组的结果是:{tuple(my_tuple)}")
print(f"字符串转元组结果是:{tuple(my_str)}")
print(f"集合转元组的结果是:{tuple(my_set)}")
print(f"字典转元组的结果是:{tuple(my_dict)}")

列表转元组的结果是:(1, 2, 3, 4, 5)

元组转元组的结果是:(1, 2, 3, 4, 5)

字符串转元组结果是:('a', 'b', 'c', 'd', 'e', 'f', 'g')

集合转元组的结果是:(1, 2, 3, 4, 5)

字典转元组的结果是:('key1', 'key2', 'key3', 'key4', 'key5')


总结:

经过上述对元组的学习,可以总结出列表有如下特点:

  1. 可以容纳多个数据
  2. 可以容纳不同类型的数据(混装)
  3. 数据是有序存储的(下标索引)
  4. 允许重复数据存在
  5. 不可以修改(增加或删除元素等)
  6. 支持for循环

多数特性和list一致,不同点在于不可修改的特性。

相关文章
|
6月前
|
数据采集 Web App开发 数据可视化
Python零基础爬取东方财富网股票行情数据指南
东方财富网数据稳定、反爬宽松,适合爬虫入门。本文详解使用Python抓取股票行情数据,涵盖请求发送、HTML解析、动态加载处理、代理IP切换及数据可视化,助你快速掌握金融数据爬取技能。
4173 1
|
6月前
|
Java 数据挖掘 数据处理
(Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。 Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(类似于Excel表格)。 Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。 Pandas 主要引入了两种新的数据结构:Series 和 DataFrame。
670 0
|
6月前
|
JSON 算法 API
Python采集淘宝商品评论API接口及JSON数据返回全程指南
Python采集淘宝商品评论API接口及JSON数据返回全程指南
|
6月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
7月前
|
数据采集 关系型数据库 MySQL
python爬取数据存入数据库
Python爬虫结合Scrapy与SQLAlchemy,实现高效数据采集并存入MySQL/PostgreSQL/SQLite。通过ORM映射、连接池优化与批量提交,支持百万级数据高速写入,具备良好的可扩展性与稳定性。
|
8月前
|
Kubernetes Docker Python
Docker 与 Kubernetes 容器化部署核心技术及企业级应用实践全方案解析
本文详解Docker与Kubernetes容器化技术,涵盖概念原理、环境搭建、镜像构建、应用部署及监控扩展,助你掌握企业级容器化方案,提升应用开发与运维效率。
1206 108
|
9月前
|
存储 监控 测试技术
如何将现有的应用程序迁移到Docker容器中?
如何将现有的应用程序迁移到Docker容器中?
704 57

热门文章

最新文章

推荐镜像

更多