Python3元组

元组是不可变的Python对象的序列。元组序列就像列表。元组和列表之间的区别是,元组不像列表那样不能被改变以及元组使用圆括号,而列表使用方括号。

创建一个元组是将不同的逗号分隔值。也可以选择把这些逗号分隔值也括号内。例如 -

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
空元组写成不含任何值的两个空括号 -
tup1 = (); 

为了编写含有一个单一的值,必须包含逗号,即使只有一个值的元组 −

tup1 = (50,)
类字符串索引,元组索引从0开始,并且它们可以被切片,联接等等。

访问元组的组:

要访问值元组,用方括号带索引或索引切片来获得可用的索引值。例如 -
#!/usr/bin/python3

tup1 = ('physics', 'chemistry', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )

print ("tup1[0]: ", tup1[0])
print ("tup2[1:5]: ", tup2[1:5])
当执行上面的代码,它产生以下结果 -
tup1[0]:  physics
tup2[1:5]:  [2, 3, 4, 5]

更新元组

元组是不可变的,这意味着我们不可以更新或更改元组元素的值。如下面的例子说明了可以把现有的元组创建新的元组的部分 -

#!/usr/bin/python3

tup1 = (12, 34.56)
tup2 = ('abc', 'xyz')

# Following action is not valid for tuples
# tup1[0] = 100;

# So let's create a new tuple as follows
tup3 = tup1 + tup2
print (tup3)
当执行上面的代码,它产生以下结果 -
(12, 34.56, 'abc', 'xyz')

删除元组元素

移除个元组的别元素是不可能的。还有就是,当然无可厚非组建另一元组来排放的不需要的元素。

如要明确删除整个元组,只需要用 del 语句。 例如:
#!/usr/bin/python3

tup = ('physics', 'chemistry', 1997, 2000);

print (tup)
del tup;
print "After deleting tup : "
print tup 

这将产生以下结果。注意引发异常,这是因为经过 del tup 元组就不再存在了-

('physics', 'chemistry', 1997, 2000)
After deleting tup :
Traceback (most recent call last):
  File "test.py", line 9, in <module>
    print tup;
NameError: name 'tup' is not defined

元组基本操作

元组响应 + 和 * 操作就像字符串; 它们意味着串联和重复这里也一样,所不同的是,结果是一个新的元组,而不是字符串。

事实上,元组应对各种操作,我们在先前章字符串中使用顺序类似 -
Python表达式 结果 描述
len((1, 2, 3)) 3 长度
(1, 2, 3) + (4, 5, 6) (1, 2, 3, 4, 5, 6)
拼接
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') 重复
3 in (1, 2, 3) True 成员关系
for x in (1,2,3) : print (x, end=' ') 1 2 3
迭代

索引,切片和矩阵

由于元组是序列,索引和切片的工作方式与字符串所做的操作相同。假设以下的输入 -

T=('C++', 'Java', 'Python')

 

Python表达式 结果 描述
T[2] 'Python'
偏移从零开始
T[-2] 'Java'
负值:从右边计数
T[1:] ('Java', 'Python')
切片取部分

无封装元素

任何一组多个对象,以逗号分隔,不写符号标识,即 对列表使用括号,元组使用小括号等,默认为元组,简短示例说明如下-

内置元组函数

Python包括以下元组函数 -

SN
函数与描述
1

cmp(tuple1, tuple2)


比较两个元组的元素
2

len(tuple)


计算元组的总长度
3

max(tuple)


从元组中返回项目的最大值
4

min(tuple)


从元组中返回项目的最小值
5

tuple(seq)


转换列表到元组

上一篇: Python3列表 下一篇: Python3字典