# 元组就是"一个不可变的列表" #1、作用:按照索引/位置存放多个值,只用于读不用于改 #2、定义:()内用逗号分隔开多个任意类型的元素 # 在()内用逗号分隔开多个任意类型的值 >>> countries = ("中国","美国","英国") # 本质:countries = tuple("中国","美国","英国") # 强调:如果元组内只有一个值,则必须加一个逗号,否则()就只是包含的意思而非定义元组 >>> countries = ("中国",) # 本质:countries = tuple("中国") # t=(1,1.3,'aa') # t=tuple((1,1.3,'aa')) # print(t,type(t)) # x=(10) # 单独一个括号代表包含的意思 # print(x,type(x)) # t=(10,) # 如果元组中只有一个元素,必须加逗号 # print(t,type(t)) # t=(1,1.3,'aa') # t=(0->值1的内存地址,1->值1.3的内存地址,2->值'aaa'的内存地址,) # t[0]=11111 # t=(1,[11,22]) # t=(0->值1的内存地址,1->值[1,2]的内存地址,) # print(id(t[0]),id(t[1])) # # t[0]=111111111 # 不能改 # # t[1]=222222222 # 不能改 # # t[1][0]=11111111111111111 # # print(t) # print(id(t[0]),id(t[1])) #3、类型转换 # print(tuple('hello')) # print(tuple([1,2,3])) # print(tuple({'a1':111,'a2':333})) # 但凡能被for循环的遍历的数据类型都可以传给tuple()转换成元组类型 >>> tuple('wdad') # 结果:('w', 'd', 'a', 'd') >>> tuple([1,2,3]) # 结果:(1, 2, 3) >>> tuple({"name":"jason","age":18}) # 结果:('name', 'age') >>> tuple((1,2,3)) # 结果:(1, 2, 3) >>> tuple({1,2,3,4}) # 结果:(1, 2, 3, 4) # tuple()会跟for循环一样遍历出数据类型中包含的每一个元素然后放到元组中 #4、内置方法 #优先掌握的操作: #1、按索引取值(正向取+反向取):只能取 # t=('aa','bbb','cc') # print(t[0]) # print(t[-1]) #2、切片(顾头不顾尾,步长) # t=('aa','bbb','cc','dd','eee') # print(t[0:3]) # print(t[::-1]) #3、长度 # t=('aa','bbb','cc','dd','eee') # print(len(t)) #4、成员运算in和not in # print('aa' in t) #5、循环 # for x in t: # print(x) #6、 t=(2,3,111,111,111,111) # print(t.index(111)) # print(t.index(1111111111)) print(t.count(111))