Python之List的前世今生(常見的)
阿新 • • 發佈:2018-11-28
1、在Python中的List特別方便
2、基本概念:List指的就是線性表,中文叫列表、表、啥的都行
3、建立一個空的List,利用的中括號[]
list = []
4、偏移量、下標(角標,索引),說的有是一回事,第一個元素的下標是0,最後一個元素的下標是-1或者len(list) - 1
5、【增】新增元素的方法
list.append() 在list 末尾,即表的尾部增加一個元素 list.insert(index,'4') 在指定位置新增元素,如果指定的下標不存在,那麼就是在末尾新增,這點Python相當牛逼 listA.extend(listB) 合併兩個list listB中仍有元素,可見是從線性表的尾部開始合併 #這是List合併的例子 >>> listA = [1,2,3] >>> listB = [4,5,6] >>> listA.extend(listB) >>> listA [1, 2, 3, 4, 5, 6]
6、【查】檢視List中的值
>>> listA
[1, 2, 3, 4, 5, 6]
>>> listA.count(4) //嘿嘿,查詢元素4在list中的有幾個
1
>>> listA.index(5) //查詢元素5在list中的位置,從頭部開始,第一個找到的index,找不到拋異常
4
>>>listA[3] //通過下標訪問對應的元素
4
7、【刪】刪除List中的元素
>>> listA [1, 2, 3, 4, 5] >>> listA.pop() //刪除棧頂的元素,後進先出,最後一個元素,顯然尾部最後一個元素,是最後插入的嘛 5
>>> listA
[1, 2, 3, 4]
>>> listA.pop(0) //幹掉對應下標的元素
1 //你會發現每次pop()方法,還要打印出來刪除掉的元素哈
list.remove(xx) 刪除list 裡面的一個元素,有多個相同的元素,刪除第一個
list.pop() 有返回值,就是元素,我發現互動模式下,不寫print,也給你輸出來
list.remove() 無返回值,好吧,牛
8、【刪】用del刪除List元素,或者整個List
del list[n] 刪除指定下標對應的元素 del list 刪除整個列表,list刪除後無法訪問
9、排序和反轉
list.reverse() //將列表反轉
list.sort() //排序,預設升序
list.sort(reverse=True) //降序排列
//注:list 中有字串,數字時不能排序,排序針對同類型
10、列表操作的函式,這牛13
len(list):列表元素個數
max(list):返回列表元素最大值
min(list):返回列表元素最小值
list(seq):將元組轉換為列表
enumerate:用法(列印元素對應的下標)
11、list 迴圈和切片
迴圈
for i in list:
print i
切片(list 取值的一種方法)
name[n:m] 切片是不包含後面那個元素的值(顧頭不顧尾,對的)
name[:m] 如果切片前面一個值預設的話,從開頭開始取,從下標0開始
name[n:] 如果切片後面的值預設的話,取到末尾,從長度開始
name[:] 如果全部預設,取全部
name[n:m:step] step:步長 隔多少個元素取一次,預設不填step == 0,直接返回後繼元素
步長是正數,從左往右取 比如1
步長是負數,從右往左取 比如-1
注:切片同樣適用於字串,字串也有下標,艹,那是必須的
12、列表生成方式
例子1:要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
可以用list(range(1, 11)) //range()函式本身就會返回一個List,不含當前數的List,也可以傳一
//個引數,預設從0開始
>>>list = list(range(1,11))
例子2:生成[1x1, 2x2, 3x3, ..., 10x10]
可以用list = list(x * x for x in range(1,11))
例子3:for迴圈後面還可以加上if判斷,這樣我們就可以篩選出僅偶數的平方:list = list(x * x for x in range(1,11) if x%2== 0) //這裡使用list函式
例子4:使用兩層迴圈,可以生成全排列:
list = [m + n for m in 'ABC' for n in 'XYZ']
print(list)
輸出結果:['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
13、list也一樣,不同型別的物件可以放在一起
>>> tempA = [2,"df","3.23"]
>>> tempA
[2, 'df', '3.23']