元组是一种可以存储不同数据类型,且数据不可变的序列
- 元组的创建也十分简单,类似于列表但是要放到一对()中,并使用逗号隔开即可
- 当元组中只包含一个元素时,需要在元素后面添加逗号,否则会被当做小括号运算符使用
- 如果只有一个元素,一定在元素后面加上一个逗号
元组和列表的区别
- 1.列表属于可变序列,它的元素可以随时修改或者删除;元组属于不可变序列,其中的元素不可以修改,除非整体替换
- 2.列表可以使用append(),extend(),insert(),remove(),pop()等方法添加和修改元素,而元组没有这几个方法,所以不能向元组中添加和修改元素。同样,元组也不能删除元素
- 3.列表可以使用切片访问和修改列表中的元素。元组也支持切片,但是它只支持通过切片访问元组中的元素,不支持修改
- 4.元组比列表的访问和处理速度更快,所以当只是需要对其中的元素进行访问,而不进行任何修改时,建议使用元组
- 5.列表不能作为字典的键,而元组可以
创建
# 创建空元组
m_tuple = ()
print(m_tuple)
n_tuple = tuple()
print(n_tuple)
# 创建非空元组
# 只有一个元素时要用,隔开
m_tuple = (1,)
print(type(m_tuple)) # <class 'tuple'>
n_tuple = (1)
print(type(n_tuple)) # <class 'int'>
m_tuple = (1, 2, 3, 4, 5, 6)
print(m_tuple) # (1, 2, 3, 4, 5, 6)
索引
m_tuple = (1, 2, 3, 4, 5, 6)
print("m_tuple[{}] = {}".format(0, m_tuple[0])) # m_tuple[0] = 1
print(m_tuple[-1]) # 6
切片
m_tuple = (1, 2, 3, 4, 5, 6)
print(m_tuple[3::]) # (4, 5, 6)
print(m_tuple[:3:]) # (1, 2, 3)
print(m_tuple[::3]) # (1, 4)
遍历
# 迭代遍历
m_tuple = (1, 2, "我是三", "我是四", 5, 6)
for i in m_tuple:
print(i, end=" ") # 1 2 我是三 我是四 5 6
# 下标遍历
m_tuple = (1, 2, "我是三", "我是四", 5, 6)
for i in range(len(m_tuple)):
print(m_tuple[i], end=" ") # 1 2 我是三 我是四 5 6
其它常用方法
- in: (存在),如果存在返回True,否则False
- not in: (不存在),如果不存在返回True,否则False
- index,count与字符串,列表中的用法相同
- tuple.index(temp,start,end)左闭右开
- tuple.count(temp)
排序
sorted(tuple)
t1=sorted(tuple)
m_tuple = (1, 2, 3, 4, 5, 6)
mt2 = sorted(m_tuple, reverse=True) # [6, 5, 4, 3, 2, 1]
print(mt2)