当前位置: 首页 > 后端技术 > Python

分享30个Python小技巧

时间:2023-03-26 17:17:19 Python

Python鏄綋浠婃渶娴佽鐨勮瑷€涔嬩竴锛屽箍娉涘簲鐢ㄤ簬鏁版嵁绉戝鍜屾満鍣ㄥ涔犮€乄eb寮€鍙戙€佽剼鏈€佽嚜鍔ㄥ寲绛夐鍩熴€傚叾鍙楁杩庣殑鍘熷洜鏈変袱涓細绠€鍗曘€佷紭闆呭拰绠€娲侊紝鏃犲簾璇濅唬鐮侊紝绠€鍗曟槗瀛︼紝涓婃墜蹇紝瀵规柊鎵嬪弸濂姐€備笅闈紝鎴戝氨缁欏ぇ瀹跺垎浜?0涓畝鐭殑python浠g爜锛屾劅鍙椾竴涓嬪浣曞湪30绉掍互鍐呭張蹇張鏈夎叮鐨勫畬鎴愩€備换鍔°€傛杩庢敹钘忋€佸叧娉ㄣ€佺偣璧炪€佹敮鎸侊紒鈥滄病琚玧ava浼よ繃鎬庝箞鐭ラ亾Python濂解€濔煠€傛湁涓€浜涢亾鐞嗘槸瑕佽嚜宸卞幓灏濊瘯鎵嶇煡閬撶殑锛屾瘮濡備粈涔堝彨锛氣€滀汉鐢熻嫤鐭紝鎴戠敤Python~鈥濄€?銆佸垪琛ㄥ€煎敮涓€浣跨敤set()杞崲鍑芥暟鍒ゆ柇鍒楄〃鏄惁鏈夐噸澶嶅厓绱犮€俤efall_unique(lst):杩斿洖len(lst)==len(set(lst))x=[1,1,2,2,3,2,3,4,5,6]y=[1,2,3,4,5]print(all_unique(x))#Falseprint(all_unique(y))#True2銆備慨楗拌瘝鍒ゆ柇涓や釜瀛楃涓叉槸鍚︿负淇グ璇嶃€傚彉褰㈣瘝鎰忓懗鐫€涓や釜瀛楃涓插彲浠ラ€氳繃閲嶆柊鎺掑垪瀛楁瘝鑰岀浉绛夈€傛湰璐ㄤ笂姣忎釜瀛楃鍑虹幇鐨勬鏁扮浉鍚屻€俧romcollectionsimportCounterdefanagram(first,second):returnCounter(first)==Counter(second)anagram("abcd3","3acdb")#True3銆傚唴瀛樿鍥炬鏌ュ璞$殑鍐呭瓨浣跨敤鎯呭喌锛歩mportsysvariable=30print(sys.getsizeof(variable))#244.瀛楄妭澶у皬姝ゆ柟娉曡繑鍥炲瓧绗︿覆鐨勫瓧鑺傞暱搴︺€俤efbyte_size(string):return(len(string.encode('utf-8')))byte_size('馃榾')#4byte_size('HelloWorld')#115.鎵撳嵃瀛楃涓睳娆′笅闈㈢殑浠g爜蹇€熸墦鍗颁竴涓瓧绗︿覆N娆¤€屼笉浣跨敤寰幆鏉ュ畬鎴愬畠銆俷=2s="Programming"print(s*n)#ProgrammingProgramming6.棣栧瓧姣嶅ぇ鍐欑畝鍗曞湴浣跨敤title()鏂规硶灏嗗瓧绗︿覆涓瘡涓崟璇嶇殑棣栧瓧姣嶅ぇ鍐欍€俿="programmingisawesome"print(s.title())#ProgrammingIsAwesome7.鍒楄〃鍒嗗潡浠ヤ笅鏂规硶灏嗗垪琛ㄥ垎鎴愭寚瀹氬ぇ灏忕殑杈冨皬鍒楄〃銆俤efchunk(list,size):return[list[i:i+size]foriinrange(0,len(list),size)]print(chunk([1,2,3,4,5,6],2))#[[1,2],[3,4],[5,6]]print(鍧?[1,2,3,4,5,6,7],2))#[[1銆?]銆乕3銆?]銆乕5銆?]銆乕7]]8銆俧ilter蹇€熻繃婊や娇鐢╢ilter()鏂规硶浠庡垪琛ㄤ腑杩囨护鈥滃亣鈥濆€硷紙False銆丯one銆?鍜屸€溾€濓級銆俤efcompact(lst):returnlist(filter(None,lst))print(compact([0,1,False,2,'',3,'a','s',34]))#[1,2,3,'a','s',34]9銆傛暟缁勮浆缃娇鐢▃ip()杞疆浜岀淮鏁扮粍銆俛rray=[['a','b'],['c','d'],['e','f']]transposed=zip(*array)print(list(transposed))#[('a','c','e'),('b','d','f')]array=[['a','b','c'],['d','e','f']]transposed=zip(*array)print(list(transposed))#[('a','d'),('b','e'),('c','f')]10銆傞摼寮忔瘮杈冨彲浠ュ湪涓€琛屼腑浣跨敤鍚勭杩愮畻绗﹁繘琛屽娆℃瘮杈冿紝鎶€宸ц嚜鐒惰€岀劧銆俛=3print(2belseadd)(a,b))#918.閲嶅鍊间娇鐢╯et()鍙寘鍚敮涓€鍏冪礌鏉ュ垽鏂垪琛ㄦ槸鍚︽湁閲嶅鍊笺€俤efhas_duplicates(lst):returnlen(lst)!=len(set(lst))x=[1,2,3,4,5,5]y=[1,2,3,4,5]print(has_duplicates(x))#Trueprint(has_duplicates(y))#False19.鍚堝苟瀛楀吀浠ヤ笅鏂规硶浣跨敤update()鍚堝苟涓や釜瀛楀吀銆俤efmerge_two_dicts(a,b):c=a.copy()#澶嶅埗ac.update(b)#灏哸鐨勯敭鍜屽€间慨鏀逛负b涓殑閿拰鍊紃eturnca={'x':1,'y':2}b={'y':3,'z':4}print(merge_two_dicts(a,b))#{'y':3,'x':1,'z':4}鍦≒ython3.5鍙婃洿楂樼増鏈腑锛屽畠鍙互鏇翠紭闆咃細defmerge_dictionaries(a,b):return{**a,**b}a={'x':1,'y':2}b={'y':3,'z':4}print(merge_dictionaries(a,b))#{'y':3,'x':1,'z':4}20.涓嬮潰灏嗕袱涓垪琛ㄨ浆鎹负瀛楀吀鐨勬柟娉曚娇鐢▃ip()鍜宒ict()鍑芥暟灏嗕袱涓垪琛ㄨ浆鎹负瀛楀吀銆俤efto_dictionary(keys,values):returndict(zip(keys,values))keys=["a","b","c"]values=[2,3,4]print(to_dictionary(keys,values))#{'a':2,'c':4,'b':3}21.浣跨敤enumerate浣跨敤enumerate()鑾峰彇鍒楄〃鐨勫€煎拰绱㈠紩銆俵ist=["a","b","c","d"]forindex,elementinenumerate(list):print("Value",element,"Index",index,)#('Value','a','Index',0)#('Value','b','Index',1)#('Value','c','Index',2)#('Value','d','Index',3)22.鑰楁椂缁熻浣跨敤time.time()鏉ヨ绠楁墽琛屾煇娈典唬鐮佹墍闇€瑕佺殑鏃堕棿銆俰mporttimestart_time=time.time()a=1b=2c=a+bprint(c)#3end_time=time.time()total_time=end_time-start_timeprint("Time:",total_time)#('Time:',1.1205673217773438e-05)23銆傚鏋滄病鏈夋姏鍑哄紓甯革紝try-elseelse瀛愬彞灏嗕綔涓簍ry/except鍧楃殑涓€閮ㄥ垎鎵ц銆倀ry:2*3exceptTypeError:print("Anexceptionwasraised")else:print("鎰熻阿涓婂笣锛屾病鏈夊紩鍙戝紓甯搞€?)#鎰熻阿涓婂笣锛屾病鏈夊紩鍙戝紓甯搞€?4.楂橀鍙戠幇浠ヤ笅鏂规硶杩斿洖鍒楄〃涓嚭鐜伴鐜囨渶楂樼殑鍏冪礌銆俤efmost_frequent(list):杩斿洖max(set(list),key=list.count)numbers=[1,2,1,2,3,2,1,4,2]print(most_frequent(numbers))#225.Palindromecheck妫€鏌ョ粰瀹氱殑瀛楃涓叉槸鍚︿负鍥炴枃銆俤efpalindrome(a):returna==a[::-1]print(palindrome('mom'))#Trueprint(palindrome('pythontip'))#False26銆傜畝鍗曡绠楀櫒缂栧啓涓€涓畝鍗曠殑璁$畻鍣紝鏃犻渶浣跨敤if-else鏉′欢銆俰mportoperationaction={"+":operator.add,"-":operator.sub,"/":operator.truediv,"*":operator.mul,"**":pow}print(action['-'](50,25))#2527.闅忔満娲楃墝浣跨敤random.shuffle()闅忔満鍖栧垪琛ㄤ腑鍏冪礌鐨勯『搴忋€傝娉ㄦ剰锛宻huffle灏卞湴宸ヤ綔骞惰繑鍥濶one銆俧romrandomimportshufflefoo=[1,2,3,4]shuffle(foo)print(foo)#[1,4,3,2],foo=[1,2,3,4]28銆傚垪琛ㄦ墿灞曠被浼间簬JavaScript涓殑[].concat(...arr)鎵佸钩鍖栧垪琛ㄣ€傝娉ㄦ剰锛屼互涓嬩唬鐮佹棤娉曞睍骞虫繁搴﹀祵濂楃殑鍒楄〃銆俤efspread(arg):ret=[]foriinarg:ifisinstance(i,list):ret.extend(i)else:ret.append(i)returnretprint(spread([1,2,3,[4,5,6],[7],8,9]))#[1,2,3,4,5,6,7,8,9]鎵撳嵃(灞曞紑([1,2,3,[4,5,6],[7],8,9,[10,[11]]]))#[1,2,3,4,5,6,7,8,9,10,[11]]29.VariableSwap涓€绉嶆棤闇€浣跨敤棰濆鍙橀噺鍗冲彲蹇€熶氦鎹袱涓彉閲忕殑鏂规硶銆俛,b=-1,14a,b=b,aprint(a)#14print(b)#-130銆傚瓧鍏哥殑榛樿鍊间娇鐢╠ict.get(key,default)鍦ㄥ瓧鍏窪efaults涓笉瀛樺湪浣犺鏌ユ壘鐨刱ey鏃惰繑鍥炪€俤={'a':1,'b':2}print(d.get('a',3))#1print(d.get('c',3))#30鍦ㄧ3鑺侾ython涓叡浜湁瓒g殑浠g爜锛屽笇鏈涘澶у鏈夌敤銆傝寰楄繕濂藉氨鐐硅禐鏀惰棌锛屽ソ浜轰竴鐢熷钩瀹夈€傛潵鑷猵ythontip锛屽揩涔愮紪鐮侊紒鍏紬鍙凤細澶稿厠缂栫▼鍔爒x锛歱ythontip锛岃璇翠笘鐣岋紝璇磋Python