|
013元组:戴上了枷锁的列表
1. 元组可以看做是封闭的列表,一旦定义了元组,里面的元素就是不可改变的,不能排序。而列表像是一个大仓库,可以任意修改里面的元素,可以添加、修改、删除等。
2. 列表中的count()和index()元组可以用,使用方法和列表相同,其他涉及到修改表内内容的都不能用。
3. Python3没有“元组推导式”
4. 创建列表用的是[];创建元组大多数时候用的是()
a) >>> tuple1 = (1, 2, 3, 4, 5, 6, 7, 8)
b) >>> tuple1
c) (1, 2, 3, 4, 5, 6, 7, 8)
d) >>> tuple1[2]
e) 3
f) >>> tuple1[5:]
g) (6, 7, 8)
h) >>> tuple1[:5]
i) (1, 2, 3, 4, 5)
j) >>> tuple2 = tuple1[:]
k) >>> tuple2
l) (1, 2, 3, 4, 5, 6, 7, 8)
m) >>> tuple1[1] = 3 #元组是不能修改的,这样会报错
5. 元组的标志符号是什么呢?(就像一说到列表我们就会想到[]一样)
a) >>> temp = (1)
b) >>> temp
c) 1
d) >>> type(temp)
e) <class 'int'>
f) >>> temp2 = 2, 3, 4
g) >>> type(temp2)
h) <class 'tuple'> #由此可见()并不是元组的标志符号,逗号才是关键
i) 看看逗号的决定性作用
i. >>> temp
ii. (1,)
iii. >>> 8 * (8)
iv. 64
v. >>> 8 * (8,)
vi. (8, 8, 8, 8, 8, 8, 8, 8)
j) 如果想要创建一个只有1个元素的元组,就如上想要创建一个只有1的元组(上面输出为整型)?
i. >>> type(temp)
ii. <class 'tuple'>
iii. >>> temp2 = 1,
iv. >>> type(temp2)
v. <class 'tuple'>
vi. >>> temp2
vii. (1,)
viii. >>> temp
ix. (1,) #只要打上逗号
k) 如何创建空的元组?
i. >>> temp = []
ii. >>> type(temp)
iii. <class 'list'>
iv. >>> temp = ()
v. >>> type(temp)
vi. <class 'tuple'>
vii. >>> temp
viii. () #确实只打一个()就创建了一个空的元组
6. 如何更新和删除一个元组(类似于字符串的修改)
a) >>> temp = ('小甲鱼', '黑夜', '迷途', '小布丁')
b) >>> temp = temp[:2] + ('怡静',) + temp[2:]
c) >>> temp
d) ('小甲鱼', '黑夜', '怡静', '迷途', '小布丁') #这个做法实际上是先将原来的元组拆成两个元组,拼接第三个元组后重新贴上temp的标签,覆盖原来的元组,原来的元组其实还在,只是现在没有标签指向他,之后就会被python回收
e) >>> temp = temp[:2] + ('怡静') + temp[2:]
f) Traceback (most recent call last):
g) File "<pyshell#32>", line 1, in <module>
h) temp = temp[:2] + ('怡静') + temp[2:] #没有逗号认为是字符串无法拼接!
i) TypeError: can only concatenate tuple (not "str") to tuple
j) 元组单独删除一个元素只能用以上切片的方法 #想要拼接元组的时候逗号和小括号都不能少!
k) 要删除整个元组可以用del语句,不过如果没有标签或者标签指向0,系统会隔一段时间自动删除
7. 关系操作符</>/>=/<=;逻辑操作符;成员操作符in/not in都可以作用在元组上
8. 什么情况下我们需要元组而不是列表?
a) 当我们希望内容不被轻易改写的时候,我们使用元组;
b) 当我们需要频繁修改数据,我们使用列表。
9. X, y, z = 1, 2, 3 请问x, y, z是元组吗?
a) 所有的多对象的、逗号分隔的、没有明确用符号定义的这些集合默认的类型都是元组。
b) >>> x, y, z = 1, 2, 3
c) >>> type(x)
d) <class 'int'>
e) >>> h = x, y, z
f) >>> type(h)
g) <class 'tuple'>
MicrosoftInternetExplorer402DocumentNotSpecified7.8 磅Normal0
小黑屋|手机版|Archiver|鱼C工作室
( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)
GMT+8, 2025-7-7 01:08
Powered by Discuz! X3.4
© 2001-2023 Discuz! Team.