#

4. 元组类型

1. 作用

按照索引/位置存放多个值,只用于读,不用于改

2. 定义

t = (1,1.3,'aaa')	#t = tuple((1,1.3,'aaa'))
print(t,type(t))

2.1 单独一个括号,代表包含的意思

x = (10)	#单独一个括号,代表包含的意思
print(x,type(x))

2.2 如果元组中只有一个元素,必须加逗号

x = (10,)	#如果元组中只有一个元素,必须加逗号
print(x,type(x))
t = (1,1.3,'aaa')	#t = (0->值1的内存地址,1->值1.3的内存地址,2->值'aaa'的内存地址,)
#只要元组内元素的内存地址没变,元组就是不可变

2.3 元组不能改,指的是不能改里面的内存地址

t = (1,[11,22])
print(t,id(t[0]),id(t[1]))
t[1][0] = 33		# 元组内的列表的元素还是可以改的
print(t,id(t[0]),id(t[1]))

(1, [11, 22]) 2038884272 59297864
(1, [33, 22]) 2038884272 59297864

3. 类型转换

print(tuple('hello'))
print(tuple([1,2,3]))
print(tuple({'name':egon,'age':18}))

4. 内置方法

4.1 按照索引取值(正向取值+反向取值)只能取

t = (111,'egon','hello')

正向取值

print(t[0])

反向取值

print(t[-1])

4.2 切片(顾头不顾尾,步长)

t=('aa','bbb','cc','dd','eee')
print(t[0:3])
print(t[::-1])

('aa', 'bbb', 'cc')
('eee', 'dd', 'cc', 'bbb', 'aa')

4.3 长度

t=('aa','bbb','cc','dd','eee')
print(len(t))

5

4.4 成员运算 in 与 not in

判断一个子字符串是否存在于一个大字符串中

t=('aa','bbb','cc','dd','eee')
print('aa' in t)

True

4.5 循环

t=('aa','bbb','cc','dd','eee')
for x in t:
    print(x)
    
aa
bbb
cc
dd
eee

5. index 和 count补充:

5.1 index:找出该字符串在元组中的索引位置,找不到就会报错

t=(2,3,111,111,111,111)
print(t.index(111))
print(t.index(1111111111))

2
ValueError: tuple.index(x): x not in tuple

5.2 count:统计该字符串在元组中出现的次数

t=(2,3,111,111,111,111)
print(t.count(111))

4
posted @ 2020-07-30 17:24  苒苒物华休&  阅读(197)  评论(0编辑  收藏  举报