有关于序列的操作,例如索引,分片,相加,乘法等都适用于列表
1.元素赋值
例 :
>>> a=[1,2,3,4,5]
>>> a[1]=10
>>> a
>[1,10,3,4,5]
**不能为一个不存在元素的位置赋值
2.增加元素
append() 用于在列表末尾增加新元素
list.append(obj)
list是列表,obj是对象
3.删除元素
del list[num]
4.分片赋值
使用分片的方法可以随意替换,增加,删除列表里的对象
可以用一个对象替换很多个对象(相当于删除了其他对象留下新替换的对象)
列表方法
1.append
在列表末尾添加对象
list.append()
2.count
用于统计某个元素在列表中出现的次数
list.count(obj)
使用方法如下
>>> a = list('hello,world')
>>> a
['h', 'e', 'l', 'l', 'o', ',', 'w', 'o', 'r', 'l', 'd']
>>> print('列表中o的个数是:',a.count('o'))
列表中o的个数是: 2
3.extend
用于在列表末尾一次性追加另一个序列的多个值(用新列表扩建原来的列表)
list.extend(seq)
seq代表需要追加到list中的元素列表
extend()与序列相加的区别
>>> a=['hello','world']
>>> b=['python','is','funny']
>>> a+b
['hello', 'world', 'python', 'is', 'funny']
>>> a
['hello', 'world']
>>> a.extend(b)
>>> a
['hello', 'world', 'python', 'is', 'funny']
如上,extend会修改前面的a,而序列相加不会改变a
4.index
从列表中找出某个值第一个匹配项的索引位置
list.index(obj)
如果搜索列表中不存在的字符串,操作结果就会出错
5.insert
用于将对象插入列表
list.insert(index,obj)
list 代表列表,index代表对象obj需要插入的索引位置,obj代表要插入列表中的对象
>>> a = [1,2,3]
>>> a
[1, 2, 3]
>>> a.insert(2,'插入2之后3之前')
>>> a
[1, 2, '插入2之后3之前', 3]
6.pop
用于一处列表中的一个元素(默认最后一个元素),并且返回该元素的值
list.pop(obj=list[-1])
>>> a=['hello','world','python','is','funny']
>>> a.pop()
'funny'
>>> a
['hello', 'world', 'python', 'is']
>>> a.pop(2)
'python'
>>> a
['hello', 'world', 'is']
pop方法是唯一一个既能修改列表又能返回元素值(除了None之外)的列表方法
7.remove
用于移除列表中某个值的第一个匹配项
list.remove(obj)
remove没有返回值,是一个直接对元素所在位置变更的方法
8.reverse
反向列表中的元素
list.reverse()
该方法不需要传参
>>> a=[1,2,3]
>>> a
[1, 2, 3]
>>> a.reverse()
>>> a
[3, 2, 1]
9.sort
对原列表进行排序,如果指定参数,就会使用改参数的方法进行排序
list.sort(func)
func是可选参数,如果指定该参数,就会用其排序方法排序
>>> a=[9,5,7,6,3,1,8]
>>> a.sort()
>>> a
[1, 3, 5, 6, 7, 8, 9]
由上,sort方法改变了原来的列表,而当需要一个排序好的列表副本,同时保持原列表不变,需要的操作
>>> a=[9,5,7,6,3,1,8]
>>> a.sort()
>>> a
[1, 3, 5, 6, 7, 8, 9]
>>> a=[9,6,7,2,8]
>>> b=a[:] #将a切片赋值给b
>>> b.sort()
>>> b #b被排序
[2, 6, 7, 8, 9]
>>> a #a没被排序
[9, 6, 7, 2, 8]
>>> b=a #若将a直接赋值给b
>>> a
[9, 6, 7, 2, 8]
>>> b
[9, 6, 7, 2, 8]
>>> b.sort()
>>> b #b被排序
[2, 6, 7, 8, 9]
>>> a #a也被排序
[2, 6, 7, 8, 9]
由上,当需要一个排好序的副本原列表保持不变的时候,要进行分片赋值,直接赋值是会一并排序的
*sorted函数可以直接取列表的副本进行排序
>>> a=[9,6,7,2,8]
>>> b=sorted(a)
>>> b
[2, 6, 7, 8, 9]
>>> a
[9, 6, 7, 2, 8]
sorted函数可以用于任何序列,返回结果都是一个 列表
>>> sorted('python')
['h', 'n', 'o', 'p', 't', 'y']
10.高级排序
sort有两个可选参数,key和reverse
>>> a=['study','python','is','funny']
>>> a.sort(key=len) #按照字符串长度排序
>>> a
['is', 'study', 'funny', 'python']
>>> a.sort(key=len,reverse=True)
>>> a
['python', 'study', 'funny', 'is']
>>> num=[5,8,1,3,6]
>>> num.sort(reverse=True) #排序后逆序
>>> num
[8, 6, 5, 3, 1]
11.clear
方法用于清空列表,类似于del a[:]
list.clear()
不需要传参
12.copy
用于复制列表,类似于 a[:]
list.copy()
不需要传参