python基础-列表
一、增加
append
功能:用于在列表末尾追加新的元素
1 list=[1,2,3,'a','b','c'] 2 list.append('d') 3 print (list)
返回
[1, 2, 3, 'a', 'b', 'c', 'd']
二、修改
1 list=[1,2,3,'a','b','c'] 2 list[5]=4 3 print (list)
返回
[1, 2, 3, 'a', 'b', 4]
三、删除3种方式
del
1 list=[1,2,3,'a','b','c'] 2 del list[5] 3 print (list)
返回
[1, 2, 3, 'a', 'b']
pop
功能:默认删除最后一个元素,并且返回删除值
函数pop()不加参数
1 list=[1,2,3,'a','b','c'] 2 print(list.pop()) 3 print (list)
返回
c
[1, 2, 3, 'a', 'b']
函数pop(下标)加参数,只能加列表下标
1 list=[1,2,3,'a','b','c'] 2 print(list.pop(0)) 3 print (list)
返回
1
[2, 3, 'a', 'b', 'c']
remove
功能:从列表中移除某个值。
remove与pop的区别:pop返回删除的值,remove不返回删除的值
1 list=[1,2,3,'a','b','c'] 2 print(list.remove('a')) 3 print (list)
返回
None#因为remove不返回删除的值,所有这返回为None
[1, 2, 3, 'b', 'c']
其他列表方法
方法与函数关系密切。方法本身就是函数,只不过这函数是和对象结合在一起的,通过对象来调用方法。面向对象语言中这些方法可称为接口。方法调用的语法为:
对象.方法(参数)
接下来我们就来看看列表这种类型的对象提供了什么方法(接口)。
count
功能:用于统计某个元素在列表中出现的次数
>>> [1,2,3,4,5,2,3,1,2,3,42,1,2,3,5].count(1)
3
>>>
extend
功能:在列表末尾一次性追加另一个序列中的多个值
>>> >>> a=[1,2,3] >>> b=[4,5,6] >>> a.extend(b) >>> a [1, 2, 3, 4, 5, 6] >>>
index
功能:用于从列表中找出某个值第一个匹配项的索引位置
>>> a=['Me','and','my','broken'] >>> a.index('my') 2 >>>
insert
功能:用于将对象插入到列表中对应位置
>>> number=[1,2,3,4,5] >>> number.insert(3,'hello') >>> number [1, 2, 3, 'hello', 4, 5] >>> number.insert(3,6) >>> number [1, 2, 3, 6, 'hello', 4, 5] >>>
reverse
功能:该方法对列表倒序
1 list=[1,2,3,'a','b','c'] 2 list.reverse() 3 print(list) 返回 ['c', 'b', 'a', 3, 2, 1]
注意该方法改变了列表但是没有返回值。
如果需要对一个序列进行反向迭代,可以使用reversed函数。这个函数并不返回一个列表,而是返回一个迭代器对象,可以使用list把迭代器对象转换成列表:
1 number=[1,2,3,'a','b','c'] 2 print(list(reversed(number))) 返回 ['c', 'b', 'a', 3, 2, 1]
sort
功能:用于在原位置度列表进行排序。 在原位置意味着列表会被修改。
>>> number [1, 4, 3, 7, 4, 8, 3, 2, 7, 9] >>> number.sort() >>> number [1, 2, 3, 3, 4, 4, 7, 7, 8, 9] >>> 应注意的是,sort()方法的返回值并不是序列本身,而是None。 如何保存原序列顺序而进行排序? 方法一 >>> >>> x = [3,5,7,3,1,2,4] >>> y =x[:] >>> y.sort() >>> x [3, 5, 7, 3, 1, 2, 4] >>> y [1, 2, 3, 3, 4, 5, 7] >>> 注意将列表x赋值给列表y时千万别使用直接赋值,否则y与x指向了相同的对象,对y的修改即是对x的修改: >>> >>> x [3, 5, 7, 3, 1, 2, 4] >>> y=x >>> y.sort() >>> x [1, 2, 3, 3, 4, 5, 7] >>> y [1, 2, 3, 3, 4, 5, 7] >>> 方法二 当然,你也可以使用函数来进行排序。 函数:sorted(). 功能:对任何序列进行排序,结果返回一个排好序的列表。 >>> >>> x=[3,5,2,1,7,4,8,9,3] >>> y=sorted(x) >>> x [3, 5, 2, 1, 7, 4, 8, 9, 3] >>> y [1, 2, 3, 3, 4, 5, 7, 8, 9] >>> 如何修改排序规则? 从上面的例子我们看到,sort方法的默认排序都是升序的。sort方法有两个可选的参数,可以通过它来修改排序规则: key key参数提供一个在排序过程中使用的函数,利用该函数来为列表中元素创造一个键(key),依据键来对列表元素(值)进行排序。 >>> >>> str5= ['one','year','like','any','old','other','year'] >>> #默认的排序依据字符串排序规则 >>> str5.sort() >>> str5 ['any', 'like', 'old', 'one', 'other', 'year', 'year'] >>> #使用key参数来修改排序规则 >>> #我们使用字符长度作为键来排序 >>> str5.sort(key=len) >>> str5 ['any', 'old', 'one', 'like', 'year', 'year', 'other'] >>> reverse 另一个参数reverse是个简单的bool值,用来指明是否要反向排序; >>> >>> num=[2,3,4,5,6,78,4,3,3,4,5,8,9] >>> num.sort() >>> num [2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 8, 9, 78] >>> num.sort(reverse=True) >>> num [78, 9, 8, 6, 5, 5, 4, 4, 4, 3, 3, 3, 2]