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 '''

 


 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM