Python自动化办公应用学习笔记23—元组的访问

一、访问元素(3种方法)

points = (10, 20, 30, 40, 50)

# 1. 正向索引(从0开始)

print(points[0]) # 10

# 2. 反向索引(从-1开始)

print(points[-1]) # 50

# 3. 切片访问 [start:end:step]

print(points[1:4]) # (20, 30, 40)

print(points[::2]) # (10, 30, 50) 每隔一个取一个

print(points[::-1]) # (50, 40, 30, 20, 10) 反转元组


二、嵌套元组操作

# 嵌套元组(二维结构)

matrix = ((1, 2, 3),

(4, 5, 6),

(7, 8, 9))

# 访问嵌套元素

print(matrix[1][2]) # 6 → 第二行第三列

# 遍历嵌套元组

for row in matrix:

for num in row:

print(num, end=' ')

print()

# 输出:

# 1 2 3

# 4 5 6

# 7 8 9

# 带索引遍历

for i, row in enumerate(matrix):

for j, num in enumerate(row):

print(f"matrix[{i}][{j}] = {num}")


三、不可变性实践

# 尝试修改元组(会报错)

try:

colors[0] = "yellow"

except TypeError as e:

print(f"错误:{e}") # 'tuple' object does not support item assignment


# 解决方案:转换为列表修改后再转回元组

colors_list = list(colors)

colors_list[0] = "yellow"

new_colors = tuple(colors_list)

print(new_colors) # ('yellow', 'green', 'blue')

# 元组中的可变元素

mixed = (1, [2, 3], 4)

mixed[1].append(5) # 可以修改元组中的列表

print(mixed) # (1, [2, 3, 5], 4)


四、元组操作要点总结

1. 创建关键:单元素元组必须加逗号 (element,)

2. 访问技巧

o 使用负索引快速获取末尾元素 t[-1]

o 切片创建子元组 t[1:4]

3. 不可变性

o 无法直接修改元素

o 可通过"转列表→修改→转元组"实现变更

4. 解包妙用

o 多变量同时赋值 x, y, z = (1, 2, 3)

o 忽略不需要的值 _, name, dept, _ = emp

5. 嵌套处理

o 二维元组模拟表格数据

o 使用双重循环遍历矩阵

6. 性能优势

o 比列表更省内存

o 访问速度更快

原文链接:,转发请注明来源!