PYTHON 数据结构 - 元组
1.1 数据结构
一般常用的有数组(Array),集合(Set),列表(List),队列(Queue),链表(Linkedlist),树(Tree),堆(Heap),栈(Stack),字典(Dictionary)
Python中数据结构主要有序列,集合,字典。
1.2 序列
序列是一种可迭代的,元素有顺序,可以重复出现的数据结构,序列可以通过索引访问;序列包括列表,字符串,字节串,元组等。
对于索引,切片与字符串笔记中相同,不再记录。
1.2.1 通用函数
-
len(序列)长度(即元素的个数)
>>> a =(1,2,3,4,5) >>> len(a) 5
-
max(序列)最大值
元素如整数,字符串按编码进行求值
>>> a = (1,2,3,4,5) >>> max(a) 5
-
min(序列) 最小值
元素如整数,字符串按编码进行求值
>>> a = (1,2,3,4,5) >>> min(a) 1
1.3 元组
元组类似于数组,元组本身一旦定义是不可变的(即不能添加,删除其中的元素),元组里的元素类型可以是不同的(与数组有区别)。
数据类型:tuple
优点:
- 可以更安全地保护数据
- 增加程序执行速度
1.3.1 创建元组
- 通过()创建多元素元组
# a = (元素1,元素2, ...)
>>> a = ('张三','男',100,100,90)
>>> print(a)
('张三', '男', 100, 100, 90)
- 只有一个元素的创建方法
>>> a = ('hello')
>>> a
'hello' # 发现结果不是元组,是一个字符串,()相当于运算优先级的作用了。
>>> a = ('hello',) # 加一个逗号
>>> a
('hello',)
- 用tuple函数创建
# tuple(序列)
>>> tuple(a)
('h', 'e', 'l', 'l', 'o')
>>>
>>> a = [1,2,3,4]
>>> tuple(a)
(1, 2, 3, 4)
- 创建空元组
>>> a = ()
>>> b = tuple()
>>> a,b
((), ())
1.3.2 访问元组
可以通过索引的方式访问,也可以通过切片的方式访问
>>> a = (1,2,3,4)
>>> a[0]
1
>>> a[1:3]
(2, 3)
1.3.3 元组解包
把元组的元素值,赋值给变量。
>>> num = (1,2,3)
>>> a,b,c = num # 把1,2,3 赋值给a,b,c (注意:元素个数和变量个数对应)
>>> print(a,b,c)
1 2 3
>>> num = (1,2,3,4,5)
>>> a,*b,c = num # 如果个数不对应,可以用*var接收部分数据
>>> print(a,b,c)
1 [2, 3, 4] 5
>>> num=(1,2,3,4)
>>> a,_,b,_ = num # 对于不需要的元素,可以用_接收,约定不取这个元素(本质上赋值给_了)
>>> print(a,b,_)
1 3 4
1.3.4 遍历元组
# 用for的一般遍历
# 循环一次,取出下一个
num = (1, 2, 3, 4, 5)
for item in num:
print(item) # 依次打印1,2,3,4,5
# 带索引的遍历
num = (1, 2, 3, 4, 5)
for n, item in enumerate(num): # n, item就是解包
print(n,item)
1.3.5 删除元组
元组本身是不可变的,不支持修改,但可以删除整个元组。
>>> num = (1,2,3)
>>> del num
>>> num
1.3.6 元组的 +
, *
运算
元组的+
运算是合并两个元组,创建一个新元组。
>>> a = (1,2,3)
>>> b = (4,5,6)
>>> c = a + b
>>> c
(1, 2, 3, 4, 5, 6)
元组的*
运算是重复元组,创建一个新元组。
>>> a = (1,2)
>>> a * 3
(1, 2, 1, 2, 1, 2)
1.3.7 用zip打包成元组
zip把多个序列,按列打包成元组。想像成一个二维表格,按列组成元组的元素。
a = [1,2,3]
b = [4,5,6]
c = [7,8,9]
d = zip(a,b,c)
print(tuple(d)) # ((1, 4, 7), (2, 5, 8), (3, 6, 9))
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】