元组
Python的元组与列表类似,
不同之处在于元组(字符串也是)的元素不能修改。元组使用小括号,列表使用方括号
a=(1,2,3)
print(type(a)) #
1,不可变类型:
元组属于不可变序列,不能修改元组中的元素;因此,元组没有增加元素、修改元素、删除元素相关的方法
只需要学习元组的创建和删除,元组中元素的访问和计数即可
a=[1,2,3]
b=(4,5)
a.extend(b) #[1, 2, 3, 4, 5]
b.extend(a) #'tuple' object has no attribute 'extend'
print(a)
2,元组支持如下操作:
1) 索引访问
2) 切片操作
3) 连接操作
4) 成员关系操作
5) 比较运算操作
6) 计数:元组长度 len()、最大值 max()、最小值 min()、求和 sum()等。
3,元祖写法
1) 通过()创建元组
2)通过 tuple()创建元组
4,元组的元素寻找(与列表类似)
a=(1,2,3,4,5,6,7)
print(a[::2]) #(1, 3, 5, 7)
print(a[5:0:-1]) #(6, 5, 4, 3, 2)
print(a[1]) #2
5,生成器推导式创建元组(直接生成是不行的,需要用tuple(生成器))
s = (x*2 for x in range(5))
print(s) # at 0x0000000002BDEB48>
print(tuple(s)) # (0, 2, 4, 6, 8)
print(list(s)) # [] #只能访问一次元素。第二次就为空了。
print(s) # at 0x0000000002BDEB48>
print(tuple(s)) #()
元组易错题:
a=(1,2,3,4,5,6,7)
print(type(a)) #
b=(1) # 不是元祖 # int
print(type(b)) #
c=(1,) #这才是元组
print(type(c)) #
d=[]
print(type(d)) #
元组题:
穿插
a=(1,2,3)
b=[4,5,6]
i=0
for ys in a:
b.insert(i,ys)
i+=2
print(b) #[1, 4, 2, 5, 3, 6]