Fork me on GitHub

学习python -- 第009天 元组

元组

元组

 

 

 

 1 #
 2 # @author:浊浪
 3 # @version:0.1
 4 # @time: 2021/3/14 9:22
 5 # 元组
 6 '''可变序列和不可变序列'''
 7 
 8 # 可变序列 列表, 字典
 9 lst = [100, 522, 45]
10 print(id(lst))  # 54997672
11 lst.append(14)
12 print(id(lst))  # 54997672
13 
14 # 不可变序列: 字符串, 元组, 修改后产生了新的对象,故地址改变
15 s = 'hello'
16 print(id(s))  # 60004064
17 s = s + 'ssss'
18 print(id(s))  # 58551896

 

 

元组的创建

 

 

 1 #
 2 # @author:浊浪
 3 # @version:0.1
 4 # @time: 2021/3/14 9:43
 5 # 元组的创建
 6 # 第一种 使用()
 7 t = ('python', 40, "jjjj")
 8 print(type(t))
 9 
10 t1 = ('python',)  #若元组里只有一个元素,则必须后面加个逗号,否则会判定为字符串
11 t2 = ('python')
12 print(t1)
13 print(t2)
14 print('t1的类型:', type(t1),'t2的类型:', type(t2))
15 
16 # 第二种 使用内置函数tuple()
17 t3 = tuple(('sssds', 88, 98))
18 print(t3,type(t3))
19 
20 # 空元组
21 t4 = ()  # 无需逗号
22 t5 = tuple()
23 # 空列表
24 lst = []
25 lst1 = list()
26 # 空字典
27 dct = {}
28 dct1 = dict()
29 
30 print('空元组:', t4, t5)
31 print('空列表:', lst, lst1)
32 print('空字典:', dct, dct1)

 

 

元组的特点及其遍历

 

 

 

通俗来说就是,

当元组里有不可变对象时,这个不可变对象不可以被修改,如元组t[1]是'hello',则本可以进行这个操作:t[1] = 'aaa' 这个操作时不被允许的,会报错: TypeError: 'tuple' object does not support item assignment

当元组里有可变对象时,这个可变对象也是不能被修改的,但是这个可变对象里面的数据可以修改。 如 t[2]是[10, 20] ,可以执行t[2].append(100) 的操作,但不可以执行t[2] = [10, 20, 30]的操作 同样的错误:TypeError: 'tuple' object does not support item assignment

 1 #
 2 # @author:浊浪
 3 # @version:0.1
 4 # @time: 2021/3/14 10:02
 5 # 
 6 t = ('python', 10, [10, 20], "jjjj")
 7 # 以下是修改元组的元素会报错
 8 # t[0] = 'ssds' # 报错TypeError: 'tuple' object does not support item assignment
 9 # t[1] = 100   # 报错TypeError: 'tuple' object does not support item assignment
10 
11 # t[2] = [10 , 20, 30]  # TypeError: 'tuple' object does not support item assignment
12 t[2].append(100)
13 print(t)
14 
15 
16 # 元组的遍历
17 for i in t:
18     print(i)

 

posted @ 2021-03-14 10:16  走位,走位  阅读(73)  评论(0编辑  收藏  举报