python第四次课
一、上节回顾
名称 | 定义或用法 |
---|---|
浅复制 | 生成一个新的列表,并且把原列表中所有元素的引用度复制到新列表中 |
深复制 | 重新分配一块内存,创建一个新的对象,并且将原对象中的元素,以递归的方式,通过创建新的子对象拷贝到新对象中 |
列表的排序 | 1.用sort()和sorted()方法。2.用reverse()和reversed()方法 |
用于序列操作的内置函数 | 1.len(列表):返回列表中的元素个数。2.max(列表)、min(列表):返回列表中的最大或最小元素。3.sum(列表):对数值型列表的元素进行求和运算,对非数值型列表运算则需要制定第二个参数。4.zip(列表1,列表2,···):将多个列表或元组对应位置的元素组合为元组,并返回包含这些元组的zip对象。5.enumerate(列表):枚举列表、字典、元组或字符串中的元素,返回枚举对象。 |
二、元组
上周学习了列表,这周开始新的知识点咯
2.1 元组的定义
·元组和列表类似,但属于不可变序列,元素一旦创建,用任何方法都不可以修改其元素。
·元组的定义方式和列表相同,但定义时所有元素是放在一对圆括号“()”中,而不是方括号中。
2.2 元组创建与删除
1.使用“=”将一个元组赋值给变量,就可以创建一个元组变量。
a_tuple = ('a','b','z','ssfcsw','example')
x = () #空元组
2.如果要创建只包含一个元素的元组,只把元素放在括号里是不行的,还需要在元素后面加一个逗号“,”,创建包含多个元素的元组没有这个限制。
a = (3,) #包含一个元素的元组,最后必须多写个逗号
print(a)
输出:(3,)
3.可以使用tuple()函数将列表、字符串、字典、集合、map对象等其他类型可迭代对象转换为元组。
print(tuple('abcdefg'))
输出:('a','b','c','d','e','f','g')
2.3元组与列表的区别
2.3.1 两者区别
·元组一旦定义就不允许更改。
·元组没有append()、extend()和insert()等方法,无法向元组中添加元素。
·元组没有remove()或pop()方法,也无法对元组元素进行del操作,不能从元组中删除元素。
·元组支持切片操作,但只能通过切片来访问元素。
·从效果上看,tuple( )冻结列表,而list( )融化元组。
2.3.2 元组的优点
·元组的速度比列表更快。如果定义了一系列常量值,而所需做的仅是对它进行遍历,那么一般使用元组而不用列表。
·元组对不需要改变的数据进行“写保护”将使得代码更加安全。
·元组可用作字典的“键”,也可以作为集合的元素。列表永远不能当做字典键使用,也不能作为集合的元素,因为列表不是不可变的。
2.4 序列解包
·可以使用序列解包功能对多个变量同时赋值
>>> x, y, z = 1, 2, 3 #多个变量同时赋值
>>> v_tuple = (False, 3.5, 'exp')
>>> (x, y, z) = v_tuple
>>> x, y, z = v_tuple
>>> x, y, z = range(3) #可以对range对象进行序列解包
>>> x, y, z = iter([1, 2, 3]) #使用迭代器对象进行序列解包
>>> x, y, z = map(