目录
一、元组就是"一个不可变的列表"
1、作用:按照索引/位置存放多个值,只用于读不用于改
二、定义:()内用逗号分隔开多个任意类型的元素
t = (1, 1.3, 'aa') # t=tuple((1,1.3,'aa'))
print(t, type(t))
(1, 1.3, 'aa') <class 'tuple'>
单独一个括号代表包含的意思
x = (10) # 单独一个括号代表包含的意思
print(x, type(x))
10 <class 'int'>
如果元组中只有一个元素,必须加逗号
t = (10,) # 如果元组中只有一个元素,必须加逗号
print(t, type(t))
(10,) <class 'tuple'>
元组不能改元组里面的内存地址
t=(1,1.3,'aa') # t=(0->值1的内存地址,1->值1.3的内存地址,2->值'aaa'的内存地址,)
t=(1,[11,22]) # t=(0->值1的内存地址,1->值[1,2]的内存地址,)
print(id(t[0]),id(t[1]))
t[0]=111111111 # 不能改
t[1]=222222222 # 不能改
(1, [11, 22]) 140721740178256 1937198703240
3、类型转换
print(tuple('hello'))
print(tuple([1, 2, 3]))
print(tuple({'a1': 111, 'a2': 333}))
('h', 'e', 'l', 'l', 'o')
(1, 2, 3)
('a1', 'a2')
4、内置方法
1、按索引取值(正向取+反向取):只能取
正向取
t = ('aa', 'bbb', 'cc')
print(t[0])
aa
反向取
t = ('aa', 'bbb', 'cc')
print(t[-1])
cc
2、切片(顾头不顾尾,步长)
t=('aa','bbb','cc','dd','eee')
print(t[0:3])
print(t[::-1])
('aa', 'bbb', 'cc')
('eee', 'dd', 'cc', 'bbb', 'aa')
3、长度
t = ('aa', 'bbb', 'cc', 'dd', 'eee')
print(len(t))
5
4、成员运算in和not in
判断一个子字符串是否存在于一个大字符串中
t = ('aa', 'bbb', 'cc', 'dd', 'eee')
print('aa' in t)
True
5、循环
t = ('aa', 'bbb', 'cc', 'dd', 'eee')
for x in t:
print(x)
aa
bbb
cc
dd
eee