Python语法基础目录传送门:人生苦短,我学python
列表是包含0个或多个元素的有序序列,列表没有长度限制,元素类型可以不同。可对列表中的元素进行增加、删除或修改。
列表用一对方括号[ ]表示,并用逗号分隔其中的元素,如果列表内没有元素,表示是一个长度为0的空列表。
列表时有序集合,因此要取得列表的任何元素,可以通过索引取得列表中的单个值,通过切片运算符取得子列表,同时可以使用正向递增序号和反向递减序号。
语法格式
<列表对象名>[索引]=新值
使用append()方法可在列表末尾添加元素
语法:list.append(obj)
说明:list表示列表,obj表示要插入列表中的对象
例如:
使用insert()方法可在列表任何位置添加元素
语法:list.insert(index,obj)
说明:index表示对象obj需要插入位置的索引值(从0开始)
例如:
使用del语句删除元素,del可以删除一个或者连续几个元素,甚至是整个列表
例如:
语法:list.pop([index=-1])
说明:index是可选参数,表示要从列表中移除的元素的索引值,默认 -1
返回值:该方法返回从列表中移除的元素的值~
例如:
语法:list.remove(obj)
说明: 该方法通过指定元素的值来删除列表中某个元素的第一个匹配项
例如:
使用extend方法将元素添加到已经存在的列表比使用+号要更高效,因为使用+号连接的过程中会创建一个新的列表,还需要复制对象。
列表的sort方法对列表进行内部排序,无须新建对象,也就是说会改变原序列
语法:list.sort(cmp=None, key=None, reverse=False)
说明:
sorted函数返回一个根据任意序列中的元素新建的已排序序列
用sorted会返回一个排序好的序列的拷贝,但是原序列也会被排序~
例如:
函数/方法 | 说明 |
---|---|
cmp(list1, list2) | 比较两个列表的元素 |
max(list) | 返回列表元素最大值 |
min(list) | 返回列表元素最小值 |
list(seq) | 将元组转换为列表 |
list.count(obj) | 统计某个元素在列表中出现的次数 |
list.index(obj) | 从列表中找出某个值第一个匹配项的索引位置 |
list.reverse() | 反向列表中元素 |
元组是一种固定长度,不可变的Python对象序列
注意:虽说元组不可变,但如果元组中的一个对象是可变的,例如列表,那么你就可以在它内部修改~
元组对象的创建使用圆括号,只需要在圆括号中添加元素,并使用逗号隔开即可圆括号在不引起语义混淆的可以省略,当元组中只包含一个元素时,需要在元素后面添加逗号,否则圆括号会被当作运算符使用。
元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组
元组之间可以使用+号和*号进行运算,从而实现连接、合并和重复。
例如:
tuple()函数接受一个列表,可返回一个包含相同元素的元组。
list()函数接受一个元组并返回一个列表。
如果你想将元组型的表达式赋值给变量,Python会对等号右边的值进行拆包
例如:
*rest语法,用于在函数调用时获取任意长度的位置参数列表
字典可存储任意类型对象,是无序的对象集合。字典的索引被称为“键”,键及其关联的值称为“键-值”对,用冒号(:)分割,每个键值对之间用逗号分隔,键和值可以是任意数据类型,整个字典包括在花括号({})中。使用时通过特定的键来范文值。键必须是唯一的,但值则不必,键必须是不可变的,如字符串,数字或元组。
通过hash函数可以检查一个对象是否可以哈希化(即是否可以用作字典的键)
语法
{
<键1>:<值1>,<键2>:<值2>,...,<键n>:<值n>}
语法
del obj
要获取与键相关联的值,可通过指定字典名和放在方括号内的键来获取与键相关联的值
也可以通过get()方法来获取与键相关联的值,这样可以避免访问字典中没有的键而导致的错误
get()语法:dict.get(key, default)
说明:dict表示字典名,key表示字典中要查找的键
default表示如果指定键的值不存在时,返回默认值
例如:
要修改字典中的值,可通过指定字典名和放在方括号内的键以及与该键相关联的新值改字典中的值
update方法改变了字典中元素位置,因此对于任何原字典中已经存在的键,如果传给update方法的数据也含有相同的键,则它的值会被覆盖
字典是一种动态结构,可随时在其中添加键-值对,同样地可通过指定字典名、放在方括号括内的键和相关联的值来实现
可以使用del语句通过键删除字典元素,也可以删除整个字典
例如:
del birthdays['Bob']
del birthdays
pop()方法会在删除的同时返回被删除的值
Python的集合与数学中集合的概念一致,是一个无序不重复元素的组合。集合的元素类型只能是固定数据类型,例如整数、字符串和元组等。列表、字典和集合本身都是可变数据类型,不能作为集合的元素出现。
可以使用大括号{ }或者set( )函数通过赋值语句创建一个集合。
注意:创建一个空集合必须用set()而不是{ },{ }是用来创建一个空字典。
例如:
将元素x添加到集合dot中,如果元素已存在,则不进行任何操作。
将元素x从集合dot中删除,如果元素不存在,则会发生错误。
该方法不同于 remove() 方法,因为 remove() 方法在移除一个不存在的元素时会发生错误,而 discard() 方法不会。
语法:dot.discard(x)
可以使用pop()方法随机删除集合中的一个元素。
可以使用in或者not in运算符判断元素是否属于集合
使用intersection()方法或者使 & 符号
例如:
使用issubset ()方法判断一个集合是否是另外一个集合的子集(包含于)
使用issuperset ()方法判断一个集合是否是另外一个集合的超集(包含)