## List初步進階 ##數組
hello,你們好,通過上篇筆記的介紹,咱們已經對List這種數據類型有了初步的理解,今天我要趁熱打鐵,爲你們介紹一些實用的List技巧,但願能幫助到各位你們~微信
extend合併列表()函數
first_lst = ['I','am','noob'] second_lst = [12,34,56] first_lst.extend(second_lst) print(first_lst) Out:['I', 'am', 'noob', 12, 34, 56]
簡單來講List1.extend(List2),會返回List1,結果是將List2添加到List1裏,至關於extend前面的列表合併括號裏的。spa
count()查看列表中元素出現次數code
lst = [1,2,3,2,4,5,5,5,6,7] print(lst.count(5)) Out: 4
這個方法很簡單可是卻很實用,會知道一個元素在列表中出現的次數,這裏5出現了3次,結果輸出3排序
分解列表賦值教程
a = [1, 2, 3] x, y, z = a print(x) print(y) print(z) Out:1 2 3
這裏頗有意思,簡單來講就是咱們能夠分別把一個列表中的值分別賦值給變量索引
List.index()圖片
lst = ['I','am','noob'] lst.index('am') Out:1 lst.index('good') Out:ValueError: 'adfa' is not in list
咱們能夠獲取列表中一個值的index,可是若是列表中不存在這個值會拋出ValueErrorip
sorted(List,reverse=True or False)
numbers = [2,1,3,5,4,8,6,7] ascending = sorted(numbers) descending = sorted(numbers,reverse=True) print(ascending) print(descending) Out:[1, 2, 3, 4, 5, 6, 7, 8] [8, 7, 6, 5, 4, 3, 2, 1]
sorted()括號裏面能夠放入一個可排序的list,默認reverse=False,也就是從小到大啦,若是咱們賦值reverse=True,那就是倒序啦,你們能夠試試字符串在列表裏是什麼狀況~
List.insert(index,value)
numbers = [1,3,5,7,9] numbers.insert(0,0) print(numbers) Out:[0, 1, 3, 5, 7, 9]
這個方法很好理解對不對!就是向一個列表裏面插入值,括號裏面第一個值是索引,第二個值是想要插入的值
倒序輸出一個List
numbers = [1,3,5,7,9] reverse_numbers = numbers[::-1] print(reverse_numbers) Out:[9, 7, 5, 3, 1]
這裏可能知識點有點略微超前,利用List的切片功能,這裏numbers後面的中括號其實包括默認的三個值:
最後的steps意思就是說隔幾個值選取,這裏咱們全選numbers裏全部的值,可是-1就是倒序一個個輸出啦。若是還有不明白的小白朋友們能夠百度一下哈,嗖的一下百家號Python補習班就出來啦,哈哈,你啥都沒查到~ 開個小玩笑。
filter,map,lamba ,reduce
關於這四個方法的具體講解就不在這裏啦,由於咱們是小白,對目前來講有點很差理解,以後我會專門講一下,你們能夠看看例子:
如今依次舉栗子啦:
filter()根據返回值True仍是False 篩選奇偶數
numbers= [1,2,3,4,5,6,7,8,9,10] even_numbers =list(filter(lambda x:x % 2,numbers)) odd_numbers = list(filter(lambda x:x % 2==0,numbers)) print('Even Numbers are :',even_numbers) print('Odd Numbers are :',odd_numbers) Out:Even Numbers are : [1, 3, 5, 7, 9] Odd Numbers are : [2, 4, 6, 8, 10]
map()根據一個數字列表生成一個每一個值都是原來3倍的數組
numbers= [1,2,3,4,5,6,7,8,9,10] triple_numbers= list(map(lambda x:x*3,numbers)) print('Triple Numbers are :',triple_numbers) Out:Triple Numbers are : [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
reduce()根據一個數字列表生成累積和
from functools import reduce numbers= [1,2,3,4,5,6,7,8,9,10] result_add= reduce(lambda x,y:x+y,numbers) print('Total :',result_add) Out: Total : 55
最後這幾個不須要你們如今就搞明白,前幾個能夠熟悉一下,最好能本身練習一下,若是你們對List的其餘使用技巧感興趣,能夠關注個人微信公衆號: Python極簡教程,我會把最高效,簡潔的小技巧一一記錄下來,分享給你們: