元素赋值
- 赋值语句是最简单的改变列表的方式,如a=2就属于一种改变列表的方式。这里我们将通过编号标记某个特定位置的元素,并对该位置的元素重新赋值,如a[0]=10,列表编号从0开始。在交互模式下输入如下:
a=[1,2,3,4,5]
a[0] = 10
print(a)
[10,2,3,4,5]
- 不同类型值尝试更换
a[0]= "hello"
print(a)
['hello',2,3,4,5]
- 越界赋值
增加元素
- 由元素赋值的示例可以看到,不能为一个不存在的位置赋值。一旦初始化了一个列表,就不能再往这个列表中增加元素了。若需要往列表中增加元素,则需要将整个列表中的元素都复制一遍,再添加需要增加的元素。Python中是否提供对应的方法帮助我们做这件事情呢?答案是肯定的。输入如下:
- append()方法是一个用于在列表末尾添加新对象的方法 返回修改过的列表
append的使用方式是list.append(obj)。
删除元素
- del删除列表中的元素。示例使用del删除了tring列表中的第二个元素,删除元素后,原来有7个元素的列表变成只有6个元素的列表了。使用del除了可以删除列表中的字符外,也可以删除列表中的数字
分片赋值
- 可以通过分片赋值直接对列表进行变更。
- 赋值另一个强大的功能,可以使用与原序列不等长的序列将分片替换
- 分片赋值对删除功能的实现
嵌套列表
- 列表中可以嵌套列表,嵌套的列表取出后还是列表
列表方法
方法是与对象有紧密联系的函数,对象可能是列表、数字,也可能是字符串或其他类型的对象
- append
在列表的末尾添加新对象
list.append(obj)
- count
统计某个元素在列表中出现的次数
list.count(obj)
- extend
列表末尾一次性追加另一个序列中的多个值(用新列表扩展原来的列表)
list.extend(seq)
- index
从列表中找出某个值第一个匹配项的索引位置。如果搜索列表中不存在的字符串,操作结果就会出错,所以对于不在列表中的元素,用index()方法操作时会报错
list.index(obj)
- insert
将对象插入列表
list.insert(index,obj)
- pop
移除列表中的一个元素(默认最后一个元素),并且返回该元素的值。调用pop方法移除元素时,在交互模式下会告知我们移除了哪个元素.pop方法是唯一一个既能修改列表又能返回元素值(除了None外)的列表方法。
list.pop(obj=list[-1])
- remove
移除列表中某个值的第一个匹配项 remove没有返回值,是一个直接对元素所在位置变更的方法,它修改了列表却没有返回值,与pop方法正好相反
list.remove(obj)
- reverse
反向列表中的元素
list.reverse()
- sort
对原列表进行排序,如果指定参数,就使用参数指定的比较方法进行排序
list.sort(func)
- clear
清空列表,类似于del a[:]。
list.clear()
- copy
复制列表,类似于a[:]。
list.copy()
- 高级排序
元素按特定方式进行排序(不是sort方法默认的按升序排列元素),就可以自定义比较方法。sort方法有两个可选参数,即key和reverse。要使用它们,就要通过名字指定,我们称之为关键字参数。