Python3 基础语法-元组(tuple)类型及操作
区别于列表,在Python中元组使用圆括号()包裹的。元组也是序列结构,但它是一种不可变序列。最简单的理解就是把元组看作一个不可变的列表。除了在内部元素不可修改的区别之外,元组和列表的用法差不多。
1.1 元组的创建
>>> tu = ()
>>> tu
()
>>> tu1 = tuple()
>>> tu1
()
>>> type(tu)
<class 'tuple'>
>>> type(tu1)
<class 'tuple'>
1.2 元组的操作
1.2.1使用方括号➕下标,可以访问内部元素。
>>> tu = (1,2,3,4,5)
>>> tu[1]
2
1.2.2 元组的切片(形成新的元组对象)。
>>> tu
(1, 2, 3, 4, 5)
>>> tu[2:4]
(3, 4)
1.2.3 元组tuple.index():根据指定数据在元组中获取该数据对应的下标。tuple.count():根据指定数据统计该数据在元组中出现的次数。
my_tuple = (1, 2, 1, 'a', 'b')
# index: 根据指定数据在元组中获取该数据对应的下标 =========
index = my_tuple.index("a")
print(index)
#3
# 1. 要查找的数据
# 2. 开始下标
# 3. 结束下标,不包含
index = my_tuple.index("a", 0, 4)
print(index)
#3
# count:根据指定数据统计该数据在元组中出现的次数
result = my_tuple.count(1)
print(result)
#2
result = my_tuple.count('c')
print(result)
#0
1.2.4 列表中还有list.reverse()与list.sort(),但是元组没有,但是要实现反转与排序可以使用python中的内置函数:reversed(),sorted() 。
>>> tu1
(1, 2, 3, 4, 5, 5, 5, 4)
>>> reversed(tu1)
<reversed object at 0x000001B9FE543C88>
>>> tuple(reversed(tu1))
(4, 5, 5, 5, 4, 3, 2, 1)
>>> tu = (1,2,3,5,4,3)
>>> sorted(tu) # 升序
[1, 2, 3, 3, 4, 5]
注意:相比较于列表,元组不允许单独删除某个元素,但可以删除整个元组,元组没有remove()、append()、pop()等方法。
1.3 列表与元素的转换
1.3.1 元组转换为列表
>>> tu = (1,2,3)
>>> list(tu)
[1, 2, 3]
1.3.2 列表转换为元组
>>> li = [1,2,3]
>>> tuple(li)
(1, 2, 3)