快速学习Python基础知识6--容器3--元组和容器序列切片
2026/7/7 9:24:35 网站建设 项目流程

来源引用网络知识与某站曹老师视频相互结合学习记录,仅供参考!

Python 基础知识

四、容器

容器是一种可以存储多个元素的数据类型;

Python 中的容器有:字符串 str列表 list元组 tuple集合 set字典 dict

统计“长度或数量”一般使用 len() 函数,每个容器都有。

3、 元组

元组是多个元素的集合,但是不能修改;使用 小括号 ();

Python 的元组与列表类似,不同之处在于元组的元素不能修改。

元组使用小括号( ),列表使用方括号[ ]

元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。

元组的定义
赋值定义

元组变量名称=(元素 1,元素 2,元素 3,元素 4,......)

空元组定义

元组变量名称=()

元组变量名称=tuple()

注意点:

  • 若只有一个元素,后面需要添加一个逗号,否则会被当做字符串定义处理;
  • 元组里面的元素没有限制;
  • 元组里面可以嵌套元组;
# 元组赋值定义 t1 = ('apple', 'banana', 'cherry') print(f't1={t1},t1的类型是:{type(t1)}') # 若定义的元组里面只有一个元素,需要添加一个逗号,否则会被当做字符串定义处理; t2 = ('apple') t3 = ('apple',) print(f't2={t2},t2的类型是:{type(t2)}') print(f't3={t3},t3的类型是:{type(t3)}') # 空元组定义 t4 = () print(f'空元组定义,t4={t4},t4的类型是:{type(t4)}') # 面向对象方式--使用tuple()对象方式定义空元组 t5 = tuple() print(f'面向对象方式定义空元组,t5={t5},t5的类型是:{type(t5)}') # 元组里面的元素类型没有限制,元组里面可以嵌套元组 t6 = (1, 'apple', 3.1415926, True, [5, 6], (7, 8), {9, 10}) print(f'元组里面的元素类型没有限制,t6={t6}') 运行结果 t1=('apple', 'banana', 'cherry'),t1的类型是:<class 'tuple'> t2=apple,t2的类型是:<class 'str'> t3=('apple',),t3的类型是:<class 'tuple'> 空元组定义,t4=(),t4的类型是:<class 'tuple'> 面向对象方式定义空元组,t5=(),t5的类型是:<class 'tuple'> 元组里面的元素类型没有限制,t6=(1, 'apple', 3.1415926, True, [5, 6], (7, 8), {9, 10})
元组的下标索引

元组的下标索引的用法几乎和列表一致,唯一的区别就是不能修改元素;

可以通过元组的下标索引获取元组中的元素;

下标索引从 0 开始,第一个元素下标索引是 0,第二个元素下标索引是 1,......第 N 个元素下标索引是 N-1;

或者通过反向索引也可以获取元组元素;索引从-1 开始,倒数第二个元素下标索引是-2,......倒数第 N 个元素的下标索引是 -N;

元组 tuple

1

2

3

4

5

6

......

N-1

N

正索引

0

1

2

3

4

5

......

N-2

N-1

负索引

-N

-(N-1)

-(N-2)

-(N-3)

-(N-4)

-(N-5)

......

-2

-1

-N+1

-N+2

-N+3

-N+4

-N+5

......

注意点:元组的下标同样不能越界,否则就会越界错误;

元组的常用方法

因为元组不能修改,所以常用方法比较少;

1、index(元素)方法,查找元组中指定元素的下标,不存在就报错;
t1 = ('apple', 'banana', 'cherry') print(f'元组t1中的apple元素的下标是:', t1.index('apple')) 运行结果 元组t1中的apple元素的下标是: 0
2、count(元素)统计某元素在元组中的个数;
t1 = ('apple', 'banana', 'cherry', 'apple', 'banana') # count(元素)统计某元素在元组中的个数 # count = t1.count('apple') # print(f't1元组中元素apple的个数={count}') print('t1元组中元素apple的个数是:', t1.count('apple')) 运行结果 t1元组中元素apple的个数是: 2
3、len(元组),统计元组内一共有多少元素;
t1 = ('apple', 'banana', 'cherry', 'apple', 'banana') # len(元组),统计元组内一共有多少元素 # length = len(t1) # print(f'统计t1元组中的元素个数:{length}') print(f'统计t1元组中的元素个数:', len(t1)) 运行结果 统计t1元组中的元素个数: 5
元组内置函数

Python元组包含了以下内置函数:

方法及描述

实例

len(tuple)
计算元组元素个数。

>>> tuple1 = ('Google', 'Runoob', 'Taobao') >>> len(tuple1) 3

max(tuple)
返回元组中元素最大值。

>>> tuple2 = ('5', '4', '8') >>> max(tuple2) '8'

min(tuple)
返回元组中元素最小值。

>>> tuple2 = ('5', '4', '8') >>> min(tuple2) '4'

tuple(iterable)

将可迭代系列转换为元组。

元组的遍历

若需要获取元组内的所有元素,可以通过 while 循环或者 for 循环遍历元组来获取;

while 循环遍历 元组:

# 元组赋值定义 t1 = ('apple', 'banana', 'cherry') # 定义变量i=0 i = 0 # while循环遍历元组 # while循环 条件i while i < len(t1): # 通过下标取值元素,并赋值给ele ele =t1[i] # 每次循环进行打印 print(ele) # 防止while陷入死循环 i += 1 运行结果 apple banana cherry

for 循环遍历 元组:

# 元组赋值定义 t1 = ('apple', 'banana', 'cherry') # for循环遍历元组 # 每次遍历t1元组时把获取到的每个变量放在 临时变量i 里面 for i in t1: print(i) 运行结果 apple banana cherry

其他

定义一个三维元组 t1 = (((1, 2), (3, 4,), (5, 6)), ((7, 8), (9, 10), (11, 12))) 通过元组遍历,打印出每个值;(提示:使用循环嵌套实现)

# 定义一个三维元组 t1 = (((1, 2), (3, 4,), (5, 6)), ((7, 8), (9, 10), (11, 12))) # 通过元组遍历,打印出每个值;使用循环嵌套实现 for i in t1: # print(f't1三维元组里面最外层有两个二维元组是:{i}') for j in i: # print(f'二维元组中的元组是:{j}') for k in j: print(f'三维元组的每个元素值是:{k}')

容器序列切片

序列是指内容连续且有序的一类数据容器;例如:之前所介绍的 字符串 str、列表 list、元组 tuple均是属于序列容器,并且全都支持下标索引。

切片是指从一个序列中,取出一个子序列;切片对 字符串、列表、元组 都是支持的,而且语法全都是一样的;

语法:序列 [ 起始下标:结束下标:步长 ],返回一个新的序列;

注意点:

  • 步长默认是 1;若步长是 1 可省略不写;
  • 结束下标是不包括的;
  • 起始下标:结束下标 都不写的话默认获取全部;
对字符串进行切片

索引值以0为开始值,-1为从末尾的开始位置。

# 赋值定义字符串 str1 = '0123456789' # 对字符串进行切片--反向获取 print(str1[::-1]) print(str1[::-2]) print(str1[6:3:-1]) print(str1[6:3:-2]) 运行结果 9876543210 97531 654 64
对列表进行切片

与字符串的索引一样,列表索引从0开始,第二个索引是1,依此类推。

通过索引列表可以进行截取、组合等操作。

# 赋值定义列表 list1 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # 对列表进行切片 print(list1) print(list1[1:4:1]) # 步长默认是1,可省略不写 print(list1[1:4:]) 运行结果 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] [1, 2, 3] [1, 2, 3]
对元组进行切片

元组与字符串、列表类似,下标索引从 0 开始,可以进行截取,组合等。

# 赋值定义元组 tuple1 = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) # 对元组进行切片 # 起始下标:结束下标 不写的话默认获取全部 print(tuple1[:]) # 步长2 print(tuple1[::2]) 运行结果 (0, 1, 2, 3, 4, 5, 6, 7, 8, 9) (0, 2, 4, 6, 8)

未完待续......

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询