一、基本概念----------即不可变列表
注意:
- 用小括号表示
- 有tuple函数可以将其他类型转化为元组类型
- 一个元素也需要加逗号
- 元组定义后不可修改,不可删除
- 元组可以存放多种类型
- 有序的
- 访问方法:[a : b : c] 即访问从[a, b)每隔c位访问一次
元组和列表区别: 不可变,没有函数,访问快,开销小
二、元组创建及生成器表达式
- 用()创建
- 用 ,号创建,一个元素也得加,号
注意 :
- 用生成器表达式得到的元组只能使用一次,用完即为空元组
- 也可以用next()函数来访问下一个元素,同样,用完就自动释放了
- 可以通过for循环遍历
- end = ’ ',表示按空格隔开
- 普通创建方法得到的元组不会自动释放
三、元组和列表切片
注意:
- [start: end: step],三个参数,开始,结束,步长,范围为[start, end)每隔step步;
参考运行:
四、元组的解包
解包指就是将元组当中每一个元素都赋值给一个变量
- 在对一个元组进行解包时,变量的数量必须和元组中的元素的数量一致
my_tuple = 10 , 20 , 30 , 40
# 元组的解包(解构)
# 解包指就是将元组当中每一个元素都赋值给一个变量
a,b,c,d= my_tuple
print("a =",a)
print("b =",b)
print("c =",c)
print("d =",d)
- 利用元组解包进行元素交换
a = 100
b = 300
# print(a , b)
# 交互a 和 b的值,这时我们就可以利用元组的解包
a , b = b , a
# print(a , b)
- 也可以在变量前边添加一个*,这样变量将会获取元组中所有剩余的元素
my_tuple = 10 , 20 , 30 , 40
a , b , *c = my_tuple
a , *b , c = my_tuple
print('a =',a,' b =',b,' c =',c)
*a , b , c = my_tuple
a , b , *c = [1,2,3,4,5,6,7]
a , b , *c = 'hello world'
# 不能同时出现两个或以上的*变量
# *a , *b , c = my_tuple SyntaxError: two starred expressions in assignment
print('a =',a,' b =',b,' c =',c)
运行结果: