7.Python【序列】- 元组

简介: 7.Python【序列】- 元组

认识元组

元组(tuple)是不可变序列,也是Python 最基本的数据结构之一,具有如下特点。

  • 元组是有序的数据结构。内部数据的位置排列固定。
  • 通过下标索引访问内部数据。支持选代和切片的读操作。
  • 元组是不可变的数据类型。不能添加、删除和更新元组内的数据。
  • 内部数据统称为元素,元素的值可以重复,可以为任意类型的数据,如数字、字符串、列表、元组、字典和集合等。
  • 列表的字面值:使用小括号包含所有元素,元素之间使用逗号分隔。

元组与列表的区別:

  • 元组字面值使用小括号表示,而列表字面值使用中括号表示。
  • 与列表相比,元组不能增加元素,没有append()和 extend()方法;也不能删除元素,没有remove()和 pop()方法。
  • 列表不能作为字典的键、集合的元素,而元组可以作为哈希值使用。

元组的优点:

  • 元组比列表操作速度快。
  • 如果定义一个常量集,并且仅用于读取操作,建议优先选用元组结构。如果对一组数据进行 “写保护”,建议使用元组,而不是列表。如果必须改变这些值,则需要执行从元组到列表的转换。

相互转换

  • 使用内置的 tuple()函数可以将一个列表转换为元组。
  • 使用内置的 list()函数可以将一个元组转换为列表。

构造元组

以小括号作为起始和终止标识符,其中包含0个或多个元素,元素之间通过逗号分隔,元组字面值的语法格式如下:

(元素1,元素2,元素3,…,元素n)
t1 = () # 空元组
t2 = (1,2,3) 
t3 = 1,2,3 # 小括号不是必须的
t4 ="a",1,1,[1,2,3] # 定义不同类型的元组

使用tuple()函数可以将列表、range 对象、字符串或者其他类型的可迭代数据转换为元组。

t1 = tuple((1,2,3)) # 元组转列表
t2 = tuple([1,2,3]) # 列表转元组

应用元组

格式化输出

name = 'zhangsan'
gender = 'male'
tup = (name,gender)
print('name:%s,age:%s'%(name,gender)) # 输出 name:zhangsan , age:male
print('name:%s,age:%s'%tup) # 输出 name:zhangsan, age:male

多重赋值

a = 1
b = 2
a,b = b,a # 元组b,a解包
print(a) # 输出为2
print(b) # 输出1

数据保护

元组只能读取,不能写入,如果将列表转换为元组,可以保护数据不被随意改动。

name list = ["zhangsan", "lisi"', "wangwu"]
name_tuple = tuple(name_list)
print(name tuple) # 输出 (zhangsan, lisi, wangwu)
name list = list(name tuple)
print(name list) # 输出 [zhangsan, list, wangwu]

数据切片

tup= (3,4,5,6,7,9,11,13,15,17)
print(tup[::]) # 返回包含所有元素的新元组
print(tup[::-1) # 逆序的所有元素:(17,15,13,11,9,7,6,5,4,3)
print(tup[3::]) # 从下标3开始的所有元素:(6,7,9,11,13,15,17)
print(tup[3:6]) #  输出 (6,7,9)
print(tup[100:]) # 空元组 ()
print(tup[100]) # 抛出异常

相关文章
|
2天前
|
存储 缓存 安全
Python元组不可变序列的奥秘与应用方式
Python 中的元组(Tuple)是一种有序的、不可变的数据结构,它是序列的一种特殊形式,就像一个固定大小的盒子,一旦放入物品就无法更换或移除。 元组可以包含任何类型的数据,如数字、字符串甚至是其他元组。 相比列表,元组在很多场景下提供了更高效、安全的选择。
|
7天前
|
存储 缓存 Python
Python中的列表(List)和元组(Tuple)是两种重要的数据结构
【7月更文挑战第12天】Python中的列表(List)和元组(Tuple)是两种重要的数据结构
9 1
|
8天前
|
机器学习/深度学习 数据采集 算法
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
Python实现Prophet时间序列数据建模与异常值检测(Prophet算法)项目实战
|
22天前
|
Python
|
17天前
|
机器学习/深度学习 自然语言处理 TensorFlow
使用Python实现深度学习模型:序列建模与生成模型的博客教程
【7月更文挑战第2天】 使用Python实现深度学习模型:序列建模与生成模型的博客教程
18 1
|
18天前
|
Python 容器
python 元组、列表解包
【7月更文挑战第1天】
13 1
|
24天前
|
Python
Python中元组解包
【6月更文挑战第18天】
19 5
|
21天前
|
存储 索引 Python
字符串、列表、元组、字典(python)
字符串、列表、元组、字典(python)
|
5天前
|
数据可视化 Python
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
时间序列分析是一种统计方法,用于分析随时间变化的数据序列。在金融、经济学、气象学等领域,时间序列分析被广泛用于预测未来趋势、检测异常值、理解周期性模式等。在Python中,`statsmodels`模块是一个强大的工具,用于执行各种时间序列分析任务。
|
10天前
|
数据采集 机器学习/深度学习 数据挖掘
基于Python实现时间序列分析建模(ARIMA模型)项目实战
基于Python实现时间序列分析建模(ARIMA模型)项目实战