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]) # 抛出异常

相关文章
WK
|
2月前
|
Python
python元组与列表的转换
在 Python 中,元组(tuple)和列表(list)是两种常用的数据结构,它们之间可以相互转换
WK
67 9
WK
|
2月前
|
Python
Python创建元组
必须在这个元素后面加上一个逗号,否则 Python 会把它当作一个普通的带圆括号的表达式而不是元组
WK
20 4
WK
|
2月前
|
数据处理 Python
Python空元组作用有哪些
空元组在Python中可能不像包含元素的元组那样直接用于数据处理,但它们仍然可以在多种情境下发挥重要作用
WK
30 2
|
2月前
|
存储 编译器 索引
Python 序列类型(2)
【10月更文挑战第8天】
Python 序列类型(2)
|
2月前
|
存储 C++ 索引
Python 序列类型(1)
【10月更文挑战第8天】
|
2月前
|
存储 缓存 Python
解密 Python 元组的实现原理
解密 Python 元组的实现原理
52 4
|
2月前
|
存储 安全 Serverless
Python学习四:流程控制语句(if-else、while、for),高级数据类型(字符串、列表、元组、字典)的操作
这篇文章主要介绍了Python中的流程控制语句(包括if-else、while、for循环)和高级数据类型(字符串、列表、元组、字典)的操作。
42 0
|
2月前
|
存储 JSON 数据处理
分析、总结Python使用列表、元组、字典的场景
分析、总结Python使用列表、元组、字典的场景
34 0
|
2月前
|
存储 自然语言处理 Java
【Python】列表和元组
【Python】列表和元组
22 0
|
2月前
|
Python
Python操作:字符串--列表--元组--字典--运算符 (一)
Python操作:字符串--列表--元组--字典--运算符 (一)
23 0
下一篇
DataWorks