【编程】Python 元组

一个元组是一个不可修改的元素的集合,元素间用逗号隔开。元组和列表类似,但是不同点是元组的值一旦设定不能修改,列表的元素设定后仍然可以修改。因为元组不可修改,所以元组的操作要快于列表。因为元组不能修改,所以可以用作字典的键值。元组也可以用来实现函数同时返回多个值。

创建元组

使用小括号定义元组,空的小括号对定义一个空元组。

例子

a_tuple = () #空元组 
print(a_tuple)

输出

()

创建有值的元组

例子

a_tuple = ('东','西','南','北') 
print(a_tuple)

输出

(‘东’,’西’,’南’,’北’)

Python 元组可以使用混合的数据类型

例子

a_tuple = (1,2,'星期日','星期一',3.14) 
print(a_tuple)

输出

(1, 2, ‘星期日’, ‘星期一’, 3.14)

例子

a_tuple =  ('1899-10-34', ['戏剧', '双城记'])
print(a_tuple)

输出

(‘1899-10-34’, [‘戏剧’, ‘双城记’])

访问元组的值

使用方括号 [] 加索引号,可以访问单独的元素。

例子

a_tuple = (1,2,'星期日','星期一',3.14) 
print(a_tuple[0]) # 打印第一个
print(a_tuple[1]) # 打印第二个
print(a_tuple[-1]) # 打印最后一个
print(a_tuple[-2]) # 打印倒数第二个

输出

1
2
3.14
星期一

增加元组

例子

a_tuple =  ('1899-10-34', ['戏剧', '双城记']) 
print(a_tuple)
print(a_tuple[0]) # 打印第一个
print(a_tuple[1]) # 打印第二个

输出

(‘1899-10-34’, [‘戏剧’, ‘双城记’])
1899-10-34
[‘ 戏剧 ‘, ‘双城记’]

循环和元组

例子

a_tuple = ('东','西','南','北') 
for dir in a_tuple:
print (dir)

输出


西

带索引号的元组输出

例子

a_tuple = ('东','西','南','北') 
for i,dir in enumerate(a_tuple):
print (i, " " , dir)

输出

0 东
1 西
2 南
3 北

元组的连接

添加多个元组在一起,可以使用连接操作符 “+”。

例子

a_tuple = ('东','西','南','北') 
b_tuple = (1,2,3,4,5)
c_tuple = a_tuple + b_tuple
print(c_tuple)

输出

(‘东’,’西’,’南’,’北’, 1, 2, 3, 4, 5)

元组的长度

函数 len 返回元组的长度,也就是元组包含的元素的个数。

例子

a_tuple = ('东','西','南','北') 
i = len(a_tuple)
print(i)

输出

4

元组的切割

基于开始和结束两个参数,切割截取元组的元素。

例子

a_tuple = ('东','西','南','北') 
slc = a_tuple[1:3]
print(slc)

输出

(‘西’, ‘南’)



索引是从0开始,所以 str[1:3] 表示从第二个元素开始。参数3表示到第四个元素截止,但不包括第四个元素。中间的冒号,表示对列表的元素进行切割。

例子

a_tuple = ('东','西','南','北') 
slc = a_tuple[:2] # 切割出前两个
print(slc)

输出

(‘东’, ‘西’)

例子

a_tuple = ('东','西','南','北') 
slc = a_tuple[2:] # 切割出第三个元素后的,索引是从0开始
print(slc)

输出

(‘南’, ‘北’)

元组项的删除

元组是常性的,意思是,元组一旦创建,它包含的元素就不能被更改 。使用 del 语句,可以直接删除整个元组。

例子

a_tuple = ('东','西','南','北') 
del a_tuple
print(a_tuple)

输出

Traceback (most recent call last): File “sample.py”, line 8, in < module > print(a_tuple)
NameError: name ‘a_tuple’ is not defined

元组的更新

元组是不可编辑的,一旦被赋值,就不能被改变了。但是如果它的元素是可以被编辑的,例如列表,它内部嵌套的项还是可以被改变的。

例子

a_tuple = (1,2,3,4,[5,6])       
a_tuple[4][1]=12
print(a_tuple)

输出

(1, 2, 3, 4, [5, 12])

利用元组返回多个值

函数总是返回一个单独的值,但是利用元组,可以将多个值组合成元组,然后一次性的返回。

例子

def multi():
a=100
b=200
return (a,b)
x,y = multi()
print(x)
print(y)

输出

100
200

元组的嵌套

例子

a_tuple = (1,2,3,4,5) 
b_tuple = ('a','b','c','d','3')
c_tuple = (a_tuple,b_tuple)
print(c_tuple)

输出

((1, 2, 3, 4, 5), (‘a’, ‘b’, ‘c’, ‘d’, ‘3’))

列表转换到元组

使用 tuple() 方法可以将一个列表转换成元组。

例子

a_list = [1,2,3,4,5] 
a_tuple = tuple(a_list)
print(a_tuple)

输出

(1, 2, 3, 4, 5)

重复元组

使用 * 操作符可以将一个元组重复若干次。

例子

a_tuple = ('halo','world') 
a_tuple = a_tuple * 2
print(a_tuple)

输出

(‘halo’, ‘world’, ‘halo’, ‘world’)

元组的重复性统计

元组的 count(x) 返回 x 在元组中出现的次数。

例子

a_tuple = ('h','e','l','l','o') 
cnt=a_tuple.count('l')
print(cnt)

输出

2

zip() 方法

利用 zip() 方法,可以同时循环遍历多个序列。

例子

a_tuple = (1,2,3,4,5) 
b_tuple = ('a','b','c','d','e')
for num, alp in zip(a_tuple,b_tuple):
print(num, alp)

输出

1 a
2 b
3 c
4 d
5 e

元组的 min(), max()

min() 返回元组的最小值,max() 返回元组的最大值。

例子

a_tuple = (1,2,3,4,5) 
print(min(a_tuple))
print(max(a_tuple))

输出

1
5



【编程】Python 列表 List
【编程】Python with 语句
【游戏】益智数独挑战脑力
【编程】Python 函数
【编程】Python 循环控制
【编程】Python For 循环语句
【编程】Python 循环和控制语句
【编程】Python 条件语句
【编程】Python 空值
【编程】Python 识别操作

此条目发表在人工智能, 服务器, 程序开发分类目录,贴了, , , , , 标签。将固定链接加入收藏夹。