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]

 

  

  

 

posted @ 2018-01-04 21:49  水中一粒沙  阅读(134)  评论(0编辑  收藏  举报