Python 语言之 - 元组
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 合并字典
- Python 列表推导
- Python 列表排序
- Python 集合
- Python 字典
- Python 列表 List
- Python with 语句
还没有评论,来说两句吧...