在这篇文章中,我们将讨论最常用的Python技巧。这些小技巧大多是我在日常工作中使用的简单技巧,觉得好的东西应该拿出来分享给大家。事不宜迟,让我们开始吧!:)技巧总结1处理来自用户的多个输入有时我们需要从用户那里获取多个输入,以便使用循环或任何迭代。一般写法如下:#badpracticecoden1=input("enteranumber:")n2=input("enteranumber:")n2=input("enteranumber:")print(n1,n2,n3)但更好的方法如下:#goodpracticen1,n2,n3=input("enteranumber:").split()print(n1,n2,n3)2处理多个条件语句如果我们需要要检查代码中的多个条件语句,我们可以使用all()或any()函数来实现我们的目标。通常,当我们有多个and条件时使用all(),当我们有多个or条件时使用any()。这样的用法会让我们的代码更加清晰易读,让我们在调试的时候不会遇到麻烦。all()的一般示例如下:size="lg"color="blue"price=50#badpracticeifsize=="lg"andcolor=="blue"andprice<100:print("Yes,Iwanttobuttheproduct.")更好的方法如下:#goodpracticeconditions=[size=="lg",color=="blue",price<100,]ifall(conditions):print(“是的,我只想要产品。”)any()的一般示例如下:#badpracticesize="lg"color="blue"price=50ifsize=="lg"orcolor=="blue"orprice<100:print("Yes,Iwanttobuttheproduct.")会更好地处理如下:#goodpracticeconditions=[size=="lg",color=="blue",price<100,]ifany(conditions):print("Yes,Iwanttobuttheproduct.")3检查数字奇偶性这很容易实现,我们从用户那里获取输入,将其转换为整数,检查余数对数2进行运算,如果余数为零,则为偶数。print('odd'ifint(input('Enteranumber:'))%2else'even')4交换变量如果我们在Python中需要交换变量的值,我们不需要定义临时变量来操作.我们一般使用如下代码来实现变量交换:v1=100v2=200#badpracticetemp=v1v1=v2v2=temp但更好的处理方式如下:v1=100v2=200#goodpracticev1,v2=v2,v15判断wheetthestring对回文字符串进行反转最简单的实现是[::-1],代码如下:print("JohnDeo"[::-1])6Python中判断一个字符是否反转该字符串是回文,只需要使用语句string.find(string[::-1])==0,示例代码如下:v1="madam"#isapalindromestringv2="master"#不是回文stringprint(v1.find(v1[::-1])==0)#Trueprint(v1.find(v2[::-1])==0)#False7尝试使用Inlineif语句在大多数情况下,我们的条件后面只有一条语句,所以使用内联if语句可以帮助我们编写更简洁的代码。比如一般的写法是:name="ali"age=22#badpracticesifname:print(name)ifnameandage>18:print("userisverified")但是更好的处理方式它如下:#更好的方法print(nameifnameelse"")"""这里你也必须定义else条件"""#goodpracticenameandprint(name)age>18andnameandprint("userisverified")8删除列表中的重复元素我们不需要遍历整个列表来检查重复元素,我们可以简单地使用set()来删除重复元素,代码如下:lst=[1,2,3,4,3,4,4,5,6,3,1,6,7,9,4,0]print(lst)unique_lst=list(set(lst))print(unique_lst)9查找列表中重复次数最多的元素在Python中,可以使用max()函数,将list.count作为key,找出list列表中重复次数最多的元素,代码如下:lst=[1,2,3,4,3,4,4,5,6,3,1,6,7,9,4,0]most_repeated_item=max(lst,key=lst.count)print(most_repeated_item)10list我最喜欢生成式Python中的特性是列表推导,这个特性允许我们编写非常简洁强大的代码,读起来几乎像自然语言。例如:numbers=[1,2,3,4,5,6,7]evens=[xforxinnumbersifx%2is0]odds=[yforyinnumbersifynotinevens]cities=['London','Dublin','Oslo']defvisit(city):print("Welcometo"+city)forcityincities:visit(city)11在Python中使用*args传递多个参数我们你可以使用*args将多个参数传递给函数,例如:defsum_of_squares(n1,n2)returnn1**2+n2**2print(sum_of_squares(2,3))#output:13"""whateverif你想将多个参数作为n个参数传递给函数。所以让我们让它动态化。"""defsum_of_squares(*args):returnsum([item**2foriteminargs])#现在你可以passasmanyparametersasyouwantprint(sum_of_squares(2,3,4))print(sum_of_squares(2,3,4,5,6))12循环时处理下标一个元素的下标写得比较优雅:lst=["blue","lightblue","pink","orange","red"]foridx,iteminenumerate(lst):print(idx,item)13拼接列表中的多个元素在Python中一般使用Join()函数来拼接列表中的所有元素当然我们也可以在拼接的时候加上拼接符号,例子如下:names=["john","sara","jim","rock"]print(",".join(names))14合并两个字典在Python中,我们可以使用{dict_name,dict_name2,…}来合并多个字典,如下:d1={"v1":22,"v2":33}d2={"v2":44,"v3":55}d3={**d1,**d2}print(d3)结果如下:{'v1':22,'v2':44,'v3':55}15使用两个A列表生成一个字典在Python中,如果我们需要将两个列表中对应的元素组成一个字典,那么我们可以使用zip函数来方便地完成代码如下:keys=['a','b','c']vals=[1,2,3]zipped=dict(zip(keys,vals))16字典按值排序在Python中我们使用sorted()函数根据字典的值对它进行排序。代码如下:d={"v1":80,"v2":20,"v3":40,"v4":20,"v5":10,}sorted_d=dict(sorted(d.items(),key=lambdaitem:item[1]))print(sorted_d)当然我们也可以用itemgetter()来代替上面的lambda函数,代码如下:fromoperatorimportitemgettersorted_d=dict(sorted(d.items(),key=itemgetter(1)))更进一步,我们还可以通过传递reverse=True对其进行降序排序:sorted_d=dict(sorted(d.items(),key=itemgetter(1),reverse=True))17Prettyprint使用Python中的Print()函数,有时输出的内容很难看。这时候我们可以使用pprint来让输出更加美观。例子如下:frompprintimportpprintdata={"name":"johndeo","age":"22","address":{"contry":"canada","state":"anstateof加拿大:)","address":"streetst.34north12"},"attr":{"已验证":True,"emialaddress":True},}print(data)pprint(data)输出如下:{'name':'johndeo','age':'22','address':{'contry':'canada','state':'加拿大的一个州:??)','address':'streetst.34north12'},'attr':{'verified':True,'emiladdress':True}}{'address':{'address':'streetst.34north12','contry':'canada','state':'加拿大的一个州:)'},'age':'22','attr':{'emialaddress':True,'verified':True},'name':'johndeo'}可以看出使用pprint函数可以让字典的输出更加易读,以上就是全部本次分享的内容,如果你想了解更多Python知识,欢迎来到公众号:Python编程学习圈,每日干货分享。
