Python数据类型 - 元祖
介绍
元祖和列表都是有序数列,列表是用 [ ],元祖使用()
元祖不同的地方在于创建后不能修改
注意:当元祖中只有一个元素的时候,要加上逗号(一个括号会被当成运算符使用)
比如:
-
(123, ) 表示的是一个元组,元组中包含一个整数 123
-
(123) 表示的是一个带括号的表达式,整数 123 嵌入括号中
元祖的基本操作方法有 统计,查找,嵌套修改,切片,in ,not in
1,统计
>>> tuple = ("alex","egon","hello","apple","alex","alex") >>> tuple.count("alex")#统计元素“alex”的个数 3 >>> len(tuple)#统计元素个数 6 >>>
2,查找
>>> tuple = ("alex","egon","hello","apple","alex","alex") >>> tuple.index("alex")#查找元素在元祖中的位置,多个重复元素只返回第一个的位置0 >>> tuple[1]#根据索引查找元素'egon'
3、切片 [ : : ] 取值
-
和列表一样,元组也可以切片
-
使用语法:元组[start : end : step],获取元组中在 [start, end) 范围的子元组
-
注意范围 [start, end) 包含 start,不包含 end
-
step 是步长,设为 n,则每隔 n 个元素获取一次
# 切片 tup = [1, 2, 3, 4, 5, 6, 7, 8] print(tup[:]) # 取全部元素 print(tup[0:]) # 取全部元素 print(tup[2:5]) # 取第 3 个元素到第 5 个元素 print(tup[::-1]) # 倒序取所有元素 print(tup[-3:-1]) # 取倒数第 3 个元素到倒数第 2 个元素 # 输出结果 [1, 2, 3, 4, 5, 6, 7, 8] [1, 2, 3, 4, 5, 6, 7, 8] [3, 4, 5] [8, 7, 6, 5, 4, 3, 2, 1] [6, 7]
4,嵌套修改![](https://common.cnblogs.com/images/copycode.gif)
#元祖的元素是不可以更改的,但元素的元素就有可能是可以更改的 #元祖里边的元素如果包含列表和字典,那列表和字典是可以修改的 >>> tuple = ("alex","egon","hello","apple",["world",{"name":"lesheng"}]) >>> tuple[4].append(0) >>> tuple ('alex', 'egon', 'hello', 'apple', ['world', {'name': 'lesheng'}, 0]) >>> tuple = ("alex","egon","hello","apple",["world",{"name":"lesheng"}]) >>> tuple[4][1]["name"]="egon" >>> tuple ('alex', 'egon', 'hello', 'apple', ['world', {'name': 'egon'}]) >>>