1.什么是元组(tuple)
元组就是不可变的列表
元组也是容器型数据类型,将()作为容器的标志,多个元素之间用逗号隔开:(元素1, 元素2, 元素3,元素4,…)
元组不可变(不支持增删改),元组是有序的(支持下标操作)
元组中的元素的要求和列表一样
1)空元组
tuple1 = ()
print(type(tuple1))
2)单个元素的元组
list1 = [10] # 单个元素的列表
tuple2 = (10)
print(tuple2, type(tuple2)) # 10 <class 'int'>
tuple3 = (10,)
print(tuple3, type(tuple3)) # (10,) <class 'tuple'>
3)多个元素的元组
a.(元素1, 元素2, 元素3,…)
tuple4 = (100, 200, 300)
print(tuple4, type(tuple4)) # (100, 200, 300) <class 'tuple'>
b.变量 = 元素1, 元素2, 元素3,...
tuple5 = 10, 20, 30, 40
print(tuple5, type(tuple5)) # (10, 20, 30, 40) <class 'tuple'>
2.获取元组中的元素
1)列表获取元素的方式元组都支持
a.获取单个元素
names = "生活大爆炸", "权力的游戏", "吸血鬼日记", "破产姐妹", "兄弟连", "尼基塔"
print(names[-2])
b.切片
print(names[1::2]) # ('权力的游戏', '破产姐妹', '尼基塔')
c.遍历
for x in names:
print(x)
for index in range(len(names)):
print(names[index])
2)其他方式(同样适用于列表)
a.变量1, 变量2, 变量3, … = 元组
注意:变量的个数要和元组中元素的个数保持一致
tuple6 = (10, 78, 45)
x, y, z = tuple6
print(x, y, z, type(tuple6)) # 10 78 45 <class 'tuple'>
b.变量1, 变量2, 变量13, … = 元组
前面的变量的个数小于元组中元组的个数,并且有且只有一个变量前有*
person = ("余婷", "女", 18, 100, 89, 50)
name, gender, age, *num = person
print(name, gender, age) # 余婷 女 18
print(num) # [100, 89, 50]
*x, y, z = 10, 90, 89, 78, 89
print(y, z) # 78 89
print(x) # [10, 90, 89]
a, b, *c, d, e = 1, 2, 3, 4, 5, 6, 7, 8, 9
print(a, b) # 1 2
print(d, e) # 8 9
print(c) # [3, 4, 5, 6, 7]
#补充:*的解包功能
list1 = (10, 20, 30)
print(*list1) # 10 20 30