在上一节中,我们学习了列表list的用法,之前还讨论过的python数据结构包括:python集合set的用法以及Python字典(Dictionary)的用法。元组Tuple是Python对象的集合,类似于列表。存储在元组tuple中的值序列可以是任何类型的,并且它们是由整数索引的。列表和元组之间的重要区别是,元组是不可变的,而且,元组是可散列化的,而列表不是。
元组的值在语法上由逗号分隔,虽然没有必要,但更常见的是通过关闭括号中的值序列来定义元组tuple,这有助于更容易地理解Python元组。
【Python元组tuple使用详解】元组是不可变的,通常它们包含一个异构元素序列,可以通过解包或索引(对于命名元组,甚至可以通过属性)访问这些元素。列表是可变的,它们的元素通常是同构的,通过遍历列表来访问它们。
1、创建一个元组tuple在Python中,元组是通过放置由逗号分隔的值序列来创建的,使用或不使用括号对数据序列进行分组。元组可以包含任意数量的元素和任意数据类型(如字符串、整数、列表等)。元组也可以用单个元素创建,但这有点棘手。仅在括号中有一个元素是不够的,必须有一个逗号才能使它成为元组。
注意不使用括号创建的Python元组称为元组打包。
# 创建空元组tuple
Tuple1 = ()
print (Tuple1) # 使用字符串创建元组
Tuple1 = ('A', 'B')
print(Tuple1) # 使用列表创建元组
list1 = [1, 2, 4, 5, 6]
print(tuple(list1)) # 迭代创建元组
Tuple1 = ('AAA')
n = 5
for i in range(int(n)):
Tuple1 = (Tuple1,)
print(Tuple1) # 使用内置函数创建元组
Tuple1 = tuple('BBB')
print(Tuple1) # 使用混合类型创建元组
Tuple1 = (5, 'CCC', 7, 'DDD')
print(Tuple1) # 创建嵌套元组
Tuple1 = (0, 1, 2, 3)
Tuple2 = ('python', 'c++')
Tuple3 = (Tuple1, Tuple2)
print(Tuple3) # 创建重复元组
Tuple1 = ('AAA',) * 3
print(Tuple1)
2、元组连接元组连接是两个或多个元组连接的过程。连接是通过使用+运算符来完成的。元组的连接总是从原始元组的末尾开始,其他算术操作不适用于元组。
注意:只有相同的数据类型才能与连接组合在一起,如果将列表和元组组合在一起,就会出现错误。
Tuple1 = (0, 1, 2, 3)
Tuple2 = ('AAA', 'CCC', 'BBB') Tuple3 = Tuple1 + Tuple2 print(Tuple1) print(Tuple2) print(Tuple3)
3、元组切片对元组进行切片是为了从元组获取特定的范围或子元素切片。也可以对列表和数组进行切片,在列表中建立索引的结果是获取单个元素,而切片允许获取一组元素。
注意:负的递增值也可以用来反转元组的顺序
Tuple1 = tuple('ABCDEFGHIJKLMNO') # 删除第一个元素
print(Tuple1[1:]) # 逆序元组
print(Tuple1[::-1]) print(Tuple1[4:9])
4、删除元组元组是不可变的,因此不允许删除它的一部分,使用del()方法删除整个元组。
注意:删除后的元组打印结果为错误。
Tuple1 = (0, 1, 2, 3, 4)
del Tuple1 print(Tuple1)
推荐阅读
- 使用C++实现trie树(单词查找树,字典树)
- Python数据结构之列表list用法和原理全解
- Python字符串String使用和操作完全解读
- JavaScript使用回溯法解决整数分解问题
- python数据结构之set的用法详解
- 自适应安全设备(ASA)上的端口地址转换(PAT)详细指南
- 高级算法(B树中的删除操作解析和详细实现)
- jQuery event.isImmediatePropagationStopped()方法用法示例
- PHP Ds Sequence first()函数介绍和用法