Python中序列的内置类型之元组Tup(三)

本文详细介绍了Python中的元组,包括元组的定义、创建、访问元素、组合元组、操作符使用以及元组函数。元组作为不可变序列,常用于存储固定数据,其特点和操作与列表有所不同,如无法修改元素和无内置方法。通过实例展示了元组的创建、访问和组合等操作。


1、元组是什么

Python的元组是一个固定的元素集合体,它与列表类似,不同之处在于元组的元素不能修改,由于他不能修改,所以它没有升降序之类的功能,并且元组没有内置方法。而它却常常被初始定义一些比较固定的元素,方便之后的调用,如对话信息中的文本。
元组使用小括号(也可以不使用括号),列表使用方括号。
元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。


2、创建元组

Python中创建元组也是比较简单,只在把各个元素以逗号隔开。

1)、创建空元组

tup1 = ()
print(tup1)

以上实例输出结果:

()

2)、创建包含元素的元组

tup1 = (1,)    # 元组中只包含一个元素时,需要在元素后面添加逗号
print(tup1)

tup2 = (1)     # 没有加入逗号将使的获取是值而不是元组
print(tup2)

tup3 = ('a','b','c')
print(tup3)

tup4 = 1,2,3,4  # 不加括号也可以形成元组,但不建议这样操作
print(tup4)

以上实例输出结果:

(1,)
1
('a', 'b', 'c')
(1, 2, 3, 4)

3、访问元组中的元素

Python访问元组中的方法与访问列表的方法比较相近,也是可以通过索引与切片的方法访问其中的元素。

1)、访问其中的一个元素

tup1 = (1,2,3)    
print(tup1[0])

tup2 = ('a','b','c')
print(tup2[0])

以上实例输出结果:

1
a

2)、访问其中的多个元素(切片)

tup1 = [1,2,3,4,5]                    

print(tup1[0:1])   # 读取tup1列表中的第一个元素,切片是不包含后面那个元素的值
print(tup1[:2])    # 如果切片前面一个值缺省的话,从开头开始取
print(tup1[1:])    # 如果切片后面的值缺省的话,取到末尾
print(tup1[:])     # 如果全部缺省,取全部
print(tup1[0:2:2]) # 最后一个2是表示步长(即隔开几个数取的意思)

以上实例输出结果:

[1]
[1, 2]
[2, 3, 4, 5]
[1, 2, 3, 4, 5]
[1]

3)、循环获取元组中的元素

tup1 = [1,2,3,4,5]                    

for i in tup1:
    print(i)   # 使用for打印出列表中的每一个元素

以上实例输出结果:

1
2
3

4、组合元组

元组中的元素值是不允许修改的,但可以对元组进行连接组合

tup1 = [1,2,3] 
tup2 = ['a','b','c']  

tup3 = tup1 + tup2
print(tup3)

以上实例输出结果:

[1, 2, 3, 'a', 'b', 'c']

5、删除元组

元组不允许删除单个元素,但是可以通过 del 删除整个元组。


tup1 = [1,2,3] 

print(tup1)
del tup1
# print(tup1) # 再将引用tup1将出错

以上实例输出结果:

[1, 2, 3]

6、元组操作符的使用

在元组中也可以像列表一样,使用 + 、*、in 等操作符号。

Python 表达式结果描述
(1, 2, 3) + (4, 5, 6)(1, 2, 3, 4, 5, 6)组合
(‘AB’) * 3(‘AB’,‘AB’,‘AB’)重复
3 in (1, 2, 3)True元素是否存在于元组中

7、元组函数

为Python List (列表)获取更更的功能,可以使用以下函数辅助。

序号函数说明
1cmp(tup1, tup2)比较两个列表的元素
2len(tup)获取列表元素个数
3max(tup)返回列表元素最大值
4min(tup)返回列表元素最小值
5tuple(seq)将列表转换为元组

上一章:Python中序列的内置类型之列表List(二)

Python 中的序列类型是一种有序的数据集合,其中每个元素都有其对应的位置索引。常见的内置序列类型包括字符串 (`str`)、列表 (`list`)元组 (`tuple`) 等。它们支持一系列通用的操作方法,如切片 (slice)、连接 (+)、成员测试 (in),以及通过整数下标访问等特性。 --- ### **一、主要特点** 以下是 Python 序列类型的几个关键属性: 1. **顺序性**: 每个值都按一定次序排列存储; 2. **可迭代性**: 可以直接用于循环遍历操作; 3. **索引访问**: 元素可通过正向或负向索引来引用; 4. **长度计算**: 内置函数 `len()` 返回该序列包含多少个项目。 --- ### **二、常见序列类型详解** #### 1. 字符串 (String) 由字符组成的不可变数据集。一旦创建就不能更改内容。 ```python s = "hello world" print(s[0]) # 输出 h print(len(s)) # 输出 11 ``` ##### 特殊性质: - 支持大小写字母转换、分割等功能; - 不允许对单个位置赋新值,例如 `s[0] = 'H'` 将引发错误。 #### 2. 列表 (List) 动态数组,内部保存任意种类的对象,可以修改增删改查非常方便。 ```python lst = [1, "apple", 3.14] print(lst[-1]) # 访问最后一个元素 -> 3.14 lst.append(5) # 添加新的数字到队尾 del lst[1] # 删除第二个成员即苹果字符串 ``` ##### 主要功能: - 易于调整尺寸和更新组成成分; - 提供丰富的内置工具比如排序(`sort()`)、反转(`reverse()`)等等。 #### 3. 元组 (Tuple) 类似于列表但是一旦初始化就不容许改变。适用于保护原始数据防止意外篡改的情况之下使用。 ```python tup = ("a", 99, False) print(tup[:2]) # 获取前两个项目 ('a', 99) try: tup[1] = 88 # 这一行会产生 TypeError 异常因为元祖不允许重新分配项 except Exception as e: print(e) ``` ##### 使用场合: - 表达固定不变的信息组合体; - 函数返回多个结果时常用格式之一。 --- ### **、共享行为与专属能力** 虽然上述种均为标准意义上的序列对象却各自具备独特的优势领域之外也存在共通之处: - ### **公共协议** 所有的序列均遵循统一的基本交互规范使得开发者能够无缝切换不同类型间的运用方式 - ### **专用增强** 根据自身定位的不同还额外携带一些专精化技能如字符串特化的模式匹配搜索替换功能;列表侧重性能优越的数据堆叠弹出服务;而元组专注于高效稳定的记录再现角色扮演。 --- ### 四、总结表格 | 类型名称 | 数据是否可变 | 示例 | |----------------|------------------------|------------------------------------| | str | 否 | `"abc"` | | list | 是 | `[1,"x",True]` | | tuple | 否 | `(4,7)` | 这种多样性让程序员可以根据实际应用场景选择最适合解决问题的那个容器样式从而使整个系统既简洁又强大。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值