Python列表操作大全
對於python列表的理解可以和C語言里面的數組進行比較性的記憶與對照,它們比較相似,對於python里面列表的定義可以直接用方括號里加所包含對象的方法,並且python的列表是比較強大的,它包含了很多不同類型的數據:整型數字,浮點型,字符串以及對象等。定義舉例如下:
List1=[1,2,3,”hello world”,”3.1415926”,[1,2,3]]
對於python列表里元素的操作主要分為以下幾個方面:
1、 向列表里面加元素;
2、 刪減列表中的一些元素;
3、 獲取列表里面的特定元素;
4、 列表分片;
5、 常用的列表操作符;
6、 其他常見列表操作函數
7、 列表的拷貝
下面我們來具體講解一下每一個部分:
1、 向列表里面加元素:
向python列表里面添加元素主要有三種方法:
(1)append()
append()對於列表的操作主要實現的是在特定的列表最后添加一個元素,並且只能一次添加一個元素,並且只能在列表最后;
m.append(元素A)
(2)extend()
extend()對於列表的操作主要實現的是對於特定列表的擴展和增長,可以一次添加多個元素,不過也只能添加在列表的最后;
m.extend([元素A,元素B,……])
(3)insert()
insert()對於列表的操作主要是在列表的特定位置添加想要添加的特定元素,比較常用,這里的特定位置是指元素所在列表中的位置索引號,需要注意的是這里的索引號都是從0開始的,不是從1開始的,這個大家需要特別注意。
m.insert(A,元素B):表示在列表m里面的第A+1處加入元素B
以上的添加功能實現代碼與結果如下實例所示:
2、刪減列表中的一些元素;
與之前python列表的添加元素相對,刪減列表里面的一些元素也有三種方法:
(1)m.remove()
m.remove的作用是移除掉列表m里面的特定元素;
m.remove(元素A)
(2)del m[n]
它的作用是刪除掉列表里面的索引號位置為n 的元素,這里需要注意的是del是一種操作語句。
del m[n]
(3)m.pop()
它的作用是將列表m的最后一個元素返回,並且在此基礎上進行刪除掉
Temp=m.pop() %這里temp就會直接等於嗎列表里最后一個元素。
Print(m) %這里再次輸出m的時候已經是刪掉最后一個元素的m列表
以上的三種操作實例及其實現如下代碼所示:
對於列表里元素的特定獲取一般直接進行選取就可以,選取的元素用其索引號進行選取,規范實現代碼如下所示:
3、獲取列表里面的特定元素
Temp=m[n] %獲取m列表第n+位置處的元素
4、列表分片;
例如以下程序及其實現:
對於列表分片的含義需要明白,列表分片就是指將列表里面的一些列元素(不僅僅是某一個元素)進行獲取或者得到,獲取的規則如下所示:
Temp=m[A:B] %表示將m列表里從索引號位置為A開始的元素到B-1處元素之間的列表獲取賦給temp.
例如以下的代碼實現:
5、常用的列表操作符
1)+:它主要實現的是多個列表之間的拼接
常見的列表操作符
2)*:主要實現的是列表的復制和添加
3)比較>,<:主要進行數據型列表的元素比較
4)and等:;邏輯運算符,可以進行列表之間的邏輯判斷
具體實例如下所示:
6、 其他常見列表操作函數:
1)m.count(A):輸出元素A在列表m里面出現的次數
2)m.index(A):輸出元素A在列表m里面的索引位置號
m.index(A,a,b):對於列表m里面包含多個元素A時,輸出在列表m索引號a-b之間的特定索引號
3)m.reverse():將列表m進行前后的翻轉,前變后,后變前
4)m.sort():將列表m里面地數據進行從小到大的排列
5)m.sort(reverse=True):將列表m里面地數據進行從大到小的排列
其實對於列表m里面的元素進行從大到小的排列還可以用以下方法:
N=m.sort()
N.reverse()
以上的操作函數具體實現實例如下所示:
7、 Python列表的拷貝
對於python里面如果想要進行列表的復制,具體的操作語句如下:
1) 深拷貝:
M=[A,b,a,c]
N=M[:]
2) 淺拷貝:
N=M
有人說可以直接將M賦值給N也是一樣的,雖然表面看起來兩者的實現效果是一樣的,但是如果你要繼續對N進行操作的時候就會出現問題,因為對於正確的第一種拷貝復制,它的作用是將列表M復制下來給N,如果后面對M進行操作,它對於N是完全沒有影響的,而我們如果采用賦值的方式,那么在后面對M操作以后就會影響到N,N的值也會隨之改變。
綜上所述,第一種python列表的拷貝方法才是真正意義上的深拷貝,而賦值操作只是一種暫時的等量代換,它屬於一種淺拷貝。
具體的實現代碼和區別如下所示: