1.什么是元祖(tuple)
- 元祖就是不可变的列表,序列不可变(不支持增删改)但是有序(支持下标操作)
- (元素1, 元素2, 元素3,....),元素要求和列表一样
2.查 -获取元素
获取单个元素和列表一样:tuple[下标]
tuple1 = ('abc', 2, 3, 4)
print(tuple1[0], tuple1[-1])
# print(tuple1[10]) # IndexError: tuple index out of range
- 获取部分元素-切片(和列表一样): 元祖开始下标:结束下标:步长]
- 元祖切片的结果是元祖
print(tuple1[0:5:2])
- 遍历
for item in tuple1:
print(item)
for index in range(len(tuple1)):
print(index, tuple1[index])
3.相关操作
- 数学运算、比较运算、in/not in、 len(), max(), min(), sum(), tuple()和对应的列表操作是一样的
print((1, 2, 3)+('a', 'b', 'c'))
print((1, 2, 3) * 2)
print(100 in (1, 2, 3))
print(tuple('abcd'), tuple(range(4)), tuple(['abc', 100]))
4.元祖专有特点
1)只有一个元素的元祖,需要在这个元素后加上一个逗号
tu1 = ('abc',)
print(type(tu1))
2)元祖的值可以去掉小括号,(直接将多个元素用逗号隔开,也表示一个元祖)
tu2 = 10, 20, 30, 'abc'
print(tu2, type(tu2))
3) 让变量的个数和元祖中元素的个数保持一致,可以让变量依次取出元祖的中的元素
point = (100, 200)
x, y = point
print(x, y)
a = 10
b = 20
a, b = (b, a) # a, b = (b,a) = (20, 10) a = 20, b=10
3.2) 通过多个变量去获取元祖元素的时候,可以在某个变量的前面加来将这个变量变成列表获取不带的变量取剩下的数据
- 注意:这儿带*的变量只能有一个
student = ('小明', 30, 60, 50, 100, 175)
name, age, *scores, height = student
print(name, scores)
name, *x = student
print(name, x)
*x, y, z = student
print(x, y)
网友评论