目录
1.元组的格式
变量名=(元素1,元素2,元素3..........................)
注意:可以放任何类型的元素
2.元组的创建
tup = (1, 2.2, 'hello', True)
print(tup) # (1, 2.2, 'hello', True)
3.元组的访问
(1)通过索引访问元组,默认索引从0开始
tup = (1, 2.2, 'hello', True)
ret = tup[0]
print(ret) # 1
print(tup[1]) # 2.2
print(len(tup)) # 4
print(tup[4]) # 索引越界异常,计算机报错
(2)通过切片获取内容
tup = (1, 2.2, 'hello', True)
ret = tup[0:4:1]
print(ret) # (1, 2.2, 'hello', True)
print(tup[1:3:2]) # (2.2,)
4.访问多维元组
up = (('zs', 10), ('ls', 12), ('ww', 20))
print(tup) # (('zs', 10), ('ls', 12), ('ww', 20))
print(tup[1][1]) # 12
print(tup[2][0]) # ww
5.使用多个变量来接收元组中的值
name, age, height, weight = ('zs', 10, 1.64, 150)
print(name, age, height, weight) # zs 10 1.64 150
交换a,b的值:
方法一:
a = 10
b = 20
c = a
a = b
b = c
print(a) # 20
print(b) # 10
方法二:
a = 10
b = 20
b, a = (a, b)
print(a) # 20
print(b) # 10
方法三:
a = 10
b = 20
b, a = a, b
print(a) # 20
print(b) # 10
6.遍历元组
tup = (('zs', 10), ('ls', 12), ('ww', 20))
for tup1 in tup:
print(tup1)
for tup2 in tup1:
print(tup2)
# ('zs', 10)
# zs
# 10
# ('ls', 12)
# ls
# 12
# ('ww', 20)
# ww
# 20
tup = (('zs', 10), ('ls', 12), ('ww', 20))
for name, age in tup:
print(name, age)
# zs 10
# ls 12
# ww 20
7.元组的修改
元组本身不能修改
只能看,不能改
如果元组中的元素本身是可变类型(list 列表)的话,元组就可以修改
tup = ('zs', 'ls', 'ww', ['白骨精', '唐三藏'])
tup[3].append('时迁')
print(tup) # ('zs', 'ls', 'ww', ['白骨精', '唐三藏', '时迁'])
tup[3].insert(1, '宋江')
print(tup) # ('zs', 'ls', 'ww', ['白骨精', '宋江', '唐三藏', '时迁'])
8.元组的一个逗号的魅力
当元组中只有一个元素且是int型,如果这个数后面没有逗号的话,就是int类型
如果元素后面加一个逗号,就是tuple类型
tup1 = (1)
print(type(tup1)) # <class 'int'>
tup2 = (1,)
print(type(tup2)) # <class 'tuple'>
9.tuple()函数和list()函数
类型转换
tup = (1, 2, 3)
lst = list(tup)
print(lst) # [1,2,3]
lst1 = ['a', 'b', 'c']
tup1 = tuple(lst1)
print(tup1) # ('a','b','c')
10.元组中的方法
Index():根据内容返回索引,找不到会报错
count():计数
tup = ('a', 'b', 'b', 'c', 'd', 'c', 'a', 's', 'x')
print(tup.index('a'))
print(len(tup))
print(tup.index('b'))
print(tup.index('b', 1, 5))
# 左闭右开
print(tup.index('a', 2, len(tup)))
print(tup.count('c'))