元组
1.什么是元组(tuple)?
元组是不可变的列表,也是容器型数据类型,将()作为容器的标志,多个元素之间用逗号隔开: (元素1, 元素2, 元素3, 元素4,…)
元组不可变(不支持增删改),但是它是有序的(支持下标操作),其中元素的要求和列表一样
1)空元组:()
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'>
- 获取元组中的元素
1)列表获取元素的方式元组都支持
a.获取单个元素
names = '生活大爆炸', '权利的游戏', '吸血鬼日记', '破产姐妹', '兄弟连', '尼基塔'
print(names[-2]) # '兄弟连'
b.切片
print(names[1::2]) # ('权利的游戏', '破产姐妹', '尼基塔')
c. 遍历
for x in names:
print(x)
2)其他方式(同样适用于列表)
a. 变量1, 变量2, 变量3, … = 元组
注意: 在这儿变量的个数要和元组中元素的个数保持一致
tuple6 = (10, 78, 45)
x, y, z = tuple6
print(x, y, z) # 10 78 45
num1, num2 = 100, 200 # num1, num2 = (100, 200)
b.变量1, 变量2, 变量3, … = 元组
前面的变量的个数小于元组中元组的个数,并且有且只有一个变量前有*
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 print(10, 20, 30)
3.列表相关操作全部适用于元素(这里就不详细介绍了)