Python list 經常使用方法總結

一,建立列表  只要把逗號分隔的不一樣的數據項使用方括號([ ])括起來便可 下標(角標,索引)從0開始,最後一個元素的下標能夠寫-1python

list  =  ['1',‘2,‘3’]數據結構

list = [] 空列表app

二,添加新的元素函數

list.append() 在list 末尾增長一個元素spa

list.insert(n,'4') 在指定位置添加元素,若是指定的下標不存在,那麼就是在末尾添加3d

list1.extend(list2) 合併兩個list   list2中仍有元素code

三,查看列表中的值對象

print(list)    遍歷列表blog

等價於    for i in list:排序

                      print i

print(list[n])  使用下標索引來訪問列表中的值,一樣你也能夠使用方括號的形式截取字符

print(list.count(xx)) 查看某個元素在這個列表裏的個數,若是改元素不存在,那麼返回0

print(list.index(xx))找到這個元素的小標,若是有多個,返回第一個,若是找一個不存在的元素會報錯

四,刪除list 中的元素

list.pop() 刪最後一個元素

list.pop(n)指定下標,刪除指定的元素,若是刪除一個不存在的元素會報錯

list.remove(xx) 刪除list 裏面的一個元素,有多個相同的元素,刪除第一個 

print(list.pop()) 有返回值

print(list.remove()) 無返回值

del  list[n] 刪除指定下標對應的元素 

del list 刪除整個列表, list刪除後沒法訪問

五,排序和反轉

list.reverse()將列表反轉

list.sort()排序,默認升序

list.sort(reverse=True) 降序排列

注:list 中有字符串,數字時不能排序,排序針對同類型

六,列表操做的函數

一、len(list):列表元素個數 
二、max(list):返回列表元素最大值 
三、min(list):返回列表元素最小值 
四、list(seq):將元組轉換爲列表

五、enumerate 用法(打印元素對應的下標)

同時取下標,元素

結果以下:

七,list 循環和切片

 1,循環

for i in list:

       print i

若是直接for 循環一個list 的時候,那麼每次循環的值都是這個list 裏面的元素

2,切片(list 取值的一種方法)

name[n:m]  切片是不包含後面那個元素的值(顧頭不顧尾)

name[:m] 若是切片前面一個值缺省的話,從開頭開始取

name[n:] 若是切片後面的值缺省的話,取到末尾

name[:] 若是所有缺省,取所有

name[n:m:s] s:步長  隔多少個元素取一次

步長是正數,從左往右取

步長是負數,從右往左取

注:切片一樣適用於字符串,字符串也有下標

 8、列表生成式

列表生成式即List Comprehensions,是Python內置的很是簡單卻強大的能夠用來建立list的生成式。

實例1:要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]能夠用list(range(1, 11)):list = list(range(1,11))

實例2:生成list = list(x * x for x in range(1,11))
實例3:for循環後面還能夠加上if判斷,這樣咱們就能夠篩選出僅偶數的平方:l
ist = list(x * x for x in range(1,11) if x%2== 0)[1x1, 2x2, 3x3, ..., 10x10]能夠用
實例4:使用兩層循環,能夠生成全排列:
list = [m + n for m in 'ABC' for n in 'XYZ']
print(list)
輸出結果:['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
實例5:for循環其實能夠同時使用兩個甚至多個變量,好比dictitems()能夠同時迭代key和value:
fordictitems()

法二:
法一:
>>> d = {'x': 'A', 'y': 'B', 'z': 'C' } >>> for k, v in d.items(): ... print(k, '=', v) ... y = B x = A z = C
head first Python 總結:>>> d = {'x': 'A', 'y': 'B', 'z': 'C' } >>> [k + '=' + v for k, v in d.items()] ['y=B', 'x=A', 'z=C']

1,列表是一個有序的對象集合
2,一個對象在另一個對象中嗎?用 in 來檢查

3,從列表中刪除對象 remove
remove:取一個對象值做爲惟一參數。remove方法會從列表中刪除指定數據值的第一次出現。

若是在列表中找到了這個數據值,就會從列表中刪除包含這個值的對象(同時列表的大小減一)。若是在列表中沒有找到這個數據值,會報錯。

4,從列表中彈出對象 pop
pop:取一個可選的索引值(indexof)做爲參數。pop方法根據對象的索引值從現有列表刪除和返回一個對象。

若是調用pop時沒有指定索引值,將刪除和返回列表中的最後一個對象。若是指定了一個索引值,則會刪除和返回那個位置上的對象。

若是列表爲空或者調用pop時指定了一個不存在的索引值,會報錯。

5,用對象擴展列表 extend
extend:取一個對象列表做爲惟一參數。extend方法接收第二個列表,將其中的各個對象增長到現有列表。若是要將兩個列表合併爲一個列表,這個方法就很是有用。

6,在列表中插入一個對象 insert/append
insert:取一個索引值和一個對象做爲參數。insert 方法將一個對象插入到現有列表中指定索引值的前面。

這樣就能夠將對象插入到現有列表的開頭,或者插入到列表中的任何位置。要把對象插入到列表末尾,用append 。用法 num.insert(2,"abc")

7,如何複製一個數據結構?不要使用賦值操做符複製列表;應當使用copy方法。
賦值操做都指向同一個數據,若是修改一個列表,另外一個也會改變;若是想讓另外一個變量引用一個現有列表,能夠使用賦值操做(=)
copy:list2 = list1.copy() ;若是想創建現有列表中對象的副本,用他們初始化一個新列表,就必定要使用copy 方法

8,列表切片的使用【start:stop:step】不包含stop 索引值
step 爲正數時,從左至右;step 爲負數時,從右至左

相關文章
相關標籤/搜索