元组:

  • 与列表一样,都是一种可以存储多种数据结构的队列
  • 是有序的,且元组中的元素可以重复

定义:

  • tuple表示元组类型,可用tuple内置函数定义一个元组
  • 元组中的元素存在于一个()中,各元素用逗号隔开
  • 是一个无限制长度的数据结构
  • 元组中的元素可以是任何类型的数据
  • 若元组中只有一个元素,必须要在元素后添加一个逗号,否则编译器不认为它是一个元组

元组与列表的区别:

  • 元组比列表占用资源更小
  • 列表是可变的,元组是不可变的

例:

a = tuple((1, "张三", None, [11,22]))
b1 = (3)
b2 = ('3')
c = (3,)
d = ()

# 打印变量的数据类型
print(type(a))
print(type(b1))
print(type(b2))
print(type(c))
print(type(d))

结果:

python元组重复元素 python元组元素可以重复吗_元组


总结:

  1. 若是一个元组中只有一个元素且没有逗号,则它的数据类型不是元组,而是由这个元素本身的数据类型所决定
  2. 创建一个空元组可以直接使用(),也可以使用touple()

in、max、min在元组中使用方式与列表相同

1.内置成员运算符in:判断元组中是否包含某个成员

  • in :若是列表中包含“张三”,返回True,否则返回False
  • not in :若是列表中不包含“张三”,返回True,否则返回False

例:

a = (1, "张三", None, [11,22])

# 使用in,判断“张三”是否是元组中的成员
res1 = "张三" in a
res2 = "张三" not in a
print(res1)
print(res2)

结果:

python元组重复元素 python元组元素可以重复吗_数据类型_02

2.内置函数max和min

  • 函数max:返回数据中最大的成员、
  • 函数min:返回数据中最小的成员
  • 中文符号>字母>数字>英文符号
  • 中文按照拼音的首字母来计算
  • max和min在元组中使用的时候,元组中的元素不能是多种类型,如果类型不一致,会报错
  • 元组中的数据为空的话,使用max或者min会报错

例1:

a = (3, 5, 9, 2)

# a和b列表中数据一致,可以正常打印最大或最小成员
print("a元组中最大的成员:",max(a))
print("a元组中最小的成员:",min(a))

结果:

python元组重复元素 python元组元素可以重复吗_python元组重复元素_03

例2:元组中元素的类型不一致会报错

c = (1, "11")

# c中的数据类型不一致,会报错
print(min(c))

结果:

python元组重复元素 python元组元素可以重复吗_数据_04

例3:空元组使用max或者min会报错

c = ()

print(min(c))

python元组重复元素 python元组元素可以重复吗_数据类型_05

3.内置函数len–获取元组的长度

例:

a = (2, '11', ('aa'), [4, 3])
b = ()

# 使用len函数打印元组长度
print("a元组长度:",len(a))
print("b元组长度:",len(b))

结果:

python元组重复元素 python元组元素可以重复吗_数据_06

4.元组切片和索引

  • 元组可以和列表一样获取所有和切片索引
  • 元组函数index和列表用法一致
  • 元组无法通过索引修改和删除元素,元组不可变

例:

a = (1, 2, 3, 4, 5, 6, 7, 8)
print('元组:{}'.format(a))

# 切片
print('元组最大索引是:{}'.format(len(a)-1))  # 最大索引值
print('元组第四个位置的值:{}'.format(a[3]))  # 第四个位置的值
print('元组全部内容:{}'.format(a[:]))  # 全部内容
print('元组全部内容:{}'.format(a[0:]))  # 全部内容
print('除最后一个元组外的其他内容:{}'.format(a[:-1]))  # 除了最后一个元素的其他内容
print('元组倒序:{}'.format(a[::-1]))  # 倒序
print('反向获取元组倒数第二个元素:{}'.format(a[-2:-1]))  # 反向获取
print('从0到8,每隔一个获取的元素:{}'.format(a[0:8:2]))  # 步长获取,从0到8,每2个获取一个
print('空元组:{}'.format(a[0:0]))  # 空列表


print('查找元素2的索引:{}'.format(a.index(2)))  # 查找元素2的索引值

# 删除元组
del a

结果:

python元组重复元素 python元组元素可以重复吗_数据_07