Python3 列表知识点归纳

Python3 列表归纳


1、创建列表

创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示:

  • list1 = ['Google', 'Runoob', 1997, 2000];
  • list2 = [1, 2, 3, 4, 5 ];
  • list3 = ["a", "b", "c", "d"];

2、操作列表

类型

方法

说明

参数

list.append(obj)

在列表末尾添加一个新的对象

不管这个对象是什么数据类型,

append()都会以一个新元素的方式追加至结尾

list.extend(seq)

在列表末尾追加多个值

seq以元素列表的形式进行追加,

extend()相当于合并两个列表

list.insert(index, obj)

将指定对象插入列表的指定位置。

index -- 对象obj需要插入的索引位置。

obj -- 要插入列表中的对象。

list.pop(obj=list[-1])

移除列表中的一个元素,

并且返回该元素的值。

不填写参数,默认最后一个元素

pop()方法带返回值

del list[index]

根据index索引删除列表中的一个元素

不填写参数,默认最后一个元素

del 不带返回值

list.remove(obj)

函数用于移除列表中某个值的第一个匹配项。

该方法没有返回值

但是会移除两种中的某个值的第一个匹配项。

list[index]=new_obj

根据索引位置直接赋值即可

 

list[index]

可以直接根据索引值查询

 

list[start:end]

也可以通过遍历索引的方式查询多值

 

list.index(obj)

函数用于从列表中找出某个值第一个匹配项

的索引位置。

obj -- 查找的对象。

max(list)

返回列表元素中的最大值

list -- 要返回最大值的列表

min(list)

返回列表元素中的最小值

list -- 要返回最小值的列表。

统计 

list.count(obj)

统计某个元素在列表中出现的次数

obj -- 列表中统计的对象。

len(list)

统计列表中的元素个数

list -- 要计算元素个数的列表。

排序

list.sort([func])

函数用于对原列表进行排序

func -- 可选参数,

如果指定了该参数会使用该参数的方法进行排序。

list.reverse()

函数用于反向列表中元素

该方法没有返回值,

但是会对列表的元素进行反向排序。

复制

list.copy()

函数用于复制列表,类似于list_copy[:]

返回复制后的新列表

清空

list.clear()

函数用于清空列表,类似于del list[:]

该方法没有返回值

 

3、注意事项

1.copy()与直接赋值的区别

直接赋值赋过来不是变量是指针地址,方式相当于引用,新值与原值之间元素调整互相影响。

copy()方法相当于重新开辟了一个新的副本,新值与原值互不影响。

代码举例:

 1 a=[0,1,2,3,4,5]
 2 b=a
 3 c=a.copy()
 4 
 5 del a[1]  
 6 '''
 7    各变量值为:
 8    a=[0, 2, 3, 4, 5]
 9    b=[0, 2, 3, 4, 5]
10    c=[0, 1, 2, 3, 4, 5]
11 '''
12 
13 b.remove(4)
14 '''
15    各变量值为:
16    a=[0, 2, 3, 5]
17    b=[0, 2, 3, 5]
18    c=[0, 1, 2, 3, 4, 5]
19 '''
20 
21 c.append(9)
22 '''
23    各变量值为:
24    a=[0, 2, 3, 5]
25    b=[0, 2, 3, 5]
26    c=[0, 1, 2, 3, 4, 5, 9]
27 '''

 


 

2、copy()与deepcopy()的区别

Python中的对象之间赋值时是按引用传递的,如果需要拷贝对象,需要使用标准库中的copy模块。 
1. copy.copy 浅拷贝:只拷贝父对象,不会拷贝对象的内部的子对象。 
2. copy.deepcopy 深拷贝:拷贝对象及其子对象 。

代码举例:

 1 import copy  
 2 a = [1, 2, 3, 4, ['a', 'b']] #原始对象  
 3   
 4 b = a #赋值,传对象的引用  
 5 c = copy.copy(a) #对象拷贝,浅拷贝  
 6 d = copy.deepcopy(a) #对象拷贝,深拷贝  
 7   
 8 a.append(5) #修改对象a  
 9 a[4].append('c') #修改对象a中的['a', 'b']数组对象  
10   
11 print 'a = ', a  
12 print 'b = ', b  
13 print 'c = ', c  
14 print 'd = ', d  
15 
16 '''
17 输出结果: 
18 a = [1, 2, 3, 4, ['a', 'b', 'c'], 5] 
19 b = [1, 2, 3, 4, ['a', 'b', 'c'], 5] 
20 c = [1, 2, 3, 4, ['a', 'b', 'c']] 
21 d = [1, 2, 3, 4, ['a', 'b']]
22 '''

 


 

 

 

 

posted @ 2017-11-28 10:53  小小逐月者  阅读(2563)  评论(0编辑  收藏  举报