## 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极简教程,我会把最高效,简洁的小技巧一一记录下来,分享给你们: