今天和大家分享二十个Python编程中新手必会的骚操作,使用的频率超高!记得点赞,收藏哦!话不多说,进入正题!1。列表推导式 使用列表推导式创建一个列表。 私信小编01即可获取大量python学习资源〔n10forninrange(5)〕〔0,10,20,30,40〕2。交换变量 一行代码交换两个变量的值。m,n1,2m,nn,mm2n13。连续比较 链式比较操作符。m,n3,c1m5TruednfFalse4。序列切片 通过切片快速获取序列片段。lst〔1,2,3,4,5〕lst〔:3〕取前三个数〔1,2,3〕lst〔::1〕逆序〔5,4,3,2,1〕lst〔::2〕步长为2〔1,3,5〕lst〔::2〕逆序步长为2〔5,3,1〕5。切片快速增删序列 通过切片替换序列片段的值。lst〔1,2,3,4,5〕lst〔1:3〕〔〕lst〔1,4,5〕lst〔1:3〕〔a,b,c,d〕lst〔1,a,b,c,d〕6。timeit计算运行时间 计算10000次列表推导式创建列表所用时间。timeitn10000〔nforninrange(5)〕2。41s511nsperloop(meanstd。dev。of7runs,10000loopseach)7。三元表达式 获取m,n中较大的值。m4n2ifmn:print(m)else:print(n)mmifmnelsenm 还有一种比较少见的写法。m4n2(n,m)〔mn〕m 格式:(,)〔condition〕8。解包(unpack) 可迭代对象都支持解包。a,b,c〔1,2,3,4〕a1b2c〔3,4〕print(range(3))0129。lambda匿名函数 lambda函数可以接收任意多个参数(包括可选参数),返回单个表达式值。lambda函数不能包含命令,只能包含一个表达式。deffunc(x,y):returnxyfunc(2,3)6funclambdax,y:xyfunc(2,3)610。map序列映射 对序列中每一个元素调用指定函数,返回迭代器。deffunc(x):returnx2list(map(func,〔1,2,3〕))〔1,4,9〕 使用lambda表达式。list(map(lambdax:x2,〔1,2,3〕))〔1,4,9〕11。filter过滤序列 过滤掉不符合条件的元素,返回迭代器。deffunc(x):returnx30list(filter(func,〔1,2,3〕))〔3〕 使用lambda表达式。list(filter(lambdax:x30,〔1,2,3〕))〔3〕12。获取序列组合 获取两个序列每个元素两两组合的结果。list1〔a,b〕list2〔1,2〕〔(m,n)forminlist1forninlist2〕〔(a,1),(a,2),(b,1),(b,2)〕fromitertoolsimportproductlist(product(list1,list2))〔(a,1),(a,2),(b,1),(b,2)〕13。随机选取序列元素 随机选取序列中的一个元素。fromrandomimportchoicelst〔1,2,3,4〕choice(lst)3 随机选取序列中的多个元素(可重复)。k值指定数量。fromrandomimportchoiceslst〔1,2,3,4〕choices(lst,k3)〔4,3,4〕 随机选取序列中的多个元素(不重复)。k值指定数量。fromrandomimportsamplelst〔1,2,3,4〕sample(lst,k3)〔4,3,2〕14。序列元素计数 统计序列每个元素出现的次数。fromcollectionsimportCounterspythonpycounterCounter(s)counterCounter({p:2,y:2,t:1,h:1,o:1,n:1,:1}) 返回的结果类似字典,可以使用字典的相关方法。counter。keys()dictkeys(〔p,y,t,h,o,n,〕)counter。values()dictvalues(〔2,2,1,1,1,1,1〕)counter。items()dictitems(〔(p,2),(y,2),(t,1),(h,1),(o,1),(n,1),(,1)〕) 统计出现次数最多的两个元素。counter。mostcommon(2)〔(p,2),(y,2)〕15。字典排序 字典按照键(key)降序排序。dic{d:2,c:1,a:3,b:4}sortbykeysorted(dic。items(),keylambdax:x〔0〕,reverseFalse){key:valueforkey,valueinsortbykey}{a:3,b:4,c:1,d:2} 字典按照值(value)降序排序。dic{d:2,c:1,a:3,b:4}sortbyvaluesorted(dic。items(),keylambdax:x〔1〕,reverseFalse){key:valueforkey,valueinsortbyvalue}{c:1,d:2,a:3,b:4}16。字典合并dict1{name:静香,age:18}dict2{name:静香,sex:female}update()更新字典。dict1。update(dict2)dict1{name:静香,age:18,sex:female}字典推导式{k:vfordicin〔dict1,dict2〕fork,vindic。items()}{name:静香,age:18,sex:female}元素拼接dict(list(dict1。items())list(dict2。items())){name:静香,age:18,sex:female}chain()可以将序列连接,返回可迭代对象。fromitertoolsimportchaindict(chain(dict1。items(),dict2。items())){name:静香,age:18,sex:female}collections。ChainMap可以将多个字典或映射,并将它们合并。fromcollectionsimportChainMapdict(ChainMap(dict2,dict1)){name:静香,age:18,sex:female}在Python3。5以上的版本中,可以通过字典解包进行合并。{dict1,dict2}{name:静香,age:18,sex:female}17。zip打包 zip()将序列中对应的元素打包成一个个的元组,然后返回由这些元组组成的迭代器。 如果序列的元素个数不一致,则返回列表长度与最短的对象相同。list1〔1,2,3〕list2〔4,5,6〕list3〔a,b,c,d〕reszip(list1,list2)reszipobjectat0x0000013C13F62200list(res)〔(1,4),(2,5),(3,6)〕list(zip(list2,list3))〔(4,a),(5,b),(6,c)〕18。enumerate遍历 enumerate函数可以将可迭代对象组合成一个索引序列,这样遍历时就可以同时获取索引与对应的值。lst〔a,b,c〕forindex,charinenumerate(lst):print(index,char)0a1b2c19。any()all() any(iterable)any all(iterable)allany()Falseany(〔〕)Falseany(〔1,0,〕)Trueany(〔0,,〔〕〕)Falseall(〔〕)Trueall(〔1,0,〕)Falseall(〔1,2,3〕)True20。用代替pow 求x的y次方,使用速度更快。timeitn10000cpow(2,10)911ns107nsperloop(meanstd。dev。of7runs,10000loopseach)timeitn10000c210131ns46。8nsperloop(meanstd。dev。of7runs,10000loopseach) 这就是今天要分享的内容,记得点赞哦提前感谢