&【07】Python 数据类型之元组

本文参考:

纯洁的微笑:http://www.ityouknow.com/python.html

Python 中的数据结构是通过某种方式组织在一起的数据元素的集合,这些数据元素可以是数字、字符、甚至可以是其他数据结构 在 Python 中,最基本的数据结构是序列(列表和元组),序列中的每个元素都有一个序号(元素的具体位置),这个序号叫索引,索引下标从 0 开始,以此类推……

  • Python 的元组与列表类似,不同之处在于元组的元素不能修改。
  • 元组使用小括号(),列表使用方括号[]。

1. 元组基本操作

1.1 创建元组

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

tup1 = ('baidu', 'google', 12, 34)
tup2 = (1, 2, 3, 4, 5)
tup3 = "a", "b", "c", "d"

# 创建空元组
tup4 = ()

# 查看tup3和tup4的类型
print(type(tup3))  # 输出 <class 'tuple'>
print(type(tup4))  # 输出 <class 'tuple'>

==注意:== 元组中只包含一个元素时,需要在元素后面添加逗号,否则括号会被当作运算符使用,如下:

TupNum = (34)
# 不加逗号是整型
print(type(TupNum))  # 输出 <class 'int'>

TupNum = (34,)
# 加上逗号变元组
print(type(TupNum))  # 输出 <class 'tuple'>

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

1.2 访问元组

元组的访问和序列访问元素一样,都是通过下标索引进行访问操作

tup1 = ('baidu', 'google', 1, 2)
tup2 = (1, 2, 3, 4, 5, 6, 7)
print(tup1[0:2])  # 输出('baidu', 'google')

print(tup2[1:4])  # 输出 (2, 3, 4)

1.3 修改元组

元组中的值一旦定义不能修改,但是我们可以通过元组与元组之间的连接关系来对元组进行修改,例如:

tup1 = ('baidu', 'google', 1, 2)
tup2 = (1, 2, 3, 4, 5, 6, 7)
print(tup1 + tup2)  # 输出 ('baidu', 'google', 1, 2, 1, 2, 3, 4, 5, 6, 7)

==注意:== 以下修改元组属于非法操作,因为元组不支持通过索引列来修改,只能对元组进行复制和连接操作

==tup1[0] = 100== (不能进行此操作)

1.4 删除元组

由于元组的不可修改性,所以元组中的元素值是不允许删除的,但我们可以使用 del 语句来删除整个元组,如下实例:

tup = ('baidu', 'google', 1, 2)
print(tup)  # 输出 ('baidu', 'google', 1, 2)
del tup
print("删除后的元组 tup : ")
print(tup)

# 报错信息如下,证明整个元组已经被删除
Traceback (most recent call last):
  File "main1.py", line 7, in <module>
    print(tup)
NameError: name 'tup' is not defined

2 元组运算符

与字符串一样,元组之间可以使用 + 号和 * 号进行运算。这就意味着他们可以组合和复制,运算后会生成一个新的元组。总而言之对整个元组进行一些运算后就会生成一个新的元组。

2.1 元组求长度

元组求长度使用运算函数 len ,如下

tup1 = ('baidu', 'google', 1, 2)
# 求元组tup1的长度
print(len(tup1))  # 输出 3

2.2 连接元组

两个甚至对个元组的连接使用 + 连接符,例如:

tup1 = (1, 2, 3)
tup2 = (4, 5, 6)
tup3 = (7, 8, 9)
print(tup1 + tup2 + tup3)  # 输出 (1, 2, 3, 4, 5, 6, 7, 8, 9)

2.3 复制元组

tup1 = ('abc')
# 元组复制需要加上分隔符后面复制的内容就按照分隔符分隔开
print((tup1,) * 3)  # 输出 ('abc', 'abc', 'abc')

2.4 判断元素

判断元组中元素是否存在使用关键字 in 进行判断,判断结果返回布尔值

tup1 = 'abc'
print('a' in tup1)  # 输出True
print('d' in tup1)  # 输出False

2.5 元组中指定位置元素访问

和序列一样,元组中的元素同样可以使用索引号访问指定位置的元素,例如:

content = ('hello', 'world', '!')
print(content)  # 输出 ('hello', 'world', '!')
print(content[1:])  # 输出('world', '!')
print(content[:2])  # 输出('hello', 'world')
print(content[-1])  # 输出!
print(content[-2])  # 输出world

3 元组内置函数

和列表一样,元组同样也拥有一些内置函数,这些函数用于判元组中的元素大小以及将元组做相应的转换

tp = (1, 2, 3, 4, 5, 6, 7, 8)
# 计算元组元素个数。
print(len(tp))  # 输出 8

# 返回元组中元素最大值。
print(max(tp))  # 输出 8

# 返回元组中元素最小值。
print(min(tp))  # 输出 1

# 将列表转换为元组。
seq = [5, 4, 3, 2, 1]
print(seq)  # 输出 [5, 4, 3, 2, 1]
print(type(seq))  # 输出<class 'list'>

tpseq = tuple(seq)
print(tpseq)  # 输出 (5, 4, 3, 2, 1)
print(type(tpseq))  # 输出 <class 'tuple'>
原文地址:https://www.cnblogs.com/doagain/p/15521613.html