Python 中实用却不常见的小技巧!
點(diǎn)擊“小詹學(xué)Python”,選擇“置頂”公眾號(hào)
重磅干貨,第一時(shí)間送達(dá)
本文轉(zhuǎn)載自猿人學(xué)Python
這是一個(gè)老外總結(jié)的Python的小技巧:
https://hackernoon.com/python-tricks-101-2836251922e0
主要來(lái)自PyTricks:
https://github.com/brennerm/PyTricks
變量值互換
這是非常Python范兒(Pythonic)的值交互方法,省去了C、C++中的中間變量
把list的所有元素拼接成一個(gè)字符串
這個(gè)技巧其實(shí)就是使用了字符串的join()方法,連接符可以是任意字符串,被join的可以是任意的可迭代對(duì)象(iterables),比如:列表、字典、集合、元組等。
找出list中出現(xiàn)頻率最高的元素
這里給出了兩種方法,有興趣的話,可以測(cè)試一下哪種方法更快。
判斷兩個(gè)字符串是否包含相同的字符
其實(shí)判斷的是兩個(gè)字符串中字符相同且每個(gè)字符出現(xiàn)的次數(shù)也相同。
反轉(zhuǎn)字符串
這里有三種方法,第一種是最常見(jiàn)的,第三種是借用反轉(zhuǎn)字符串的方法來(lái)反轉(zhuǎn)整數(shù)。
反轉(zhuǎn)列表
這里反轉(zhuǎn)列表的方法,其實(shí)跟上面反轉(zhuǎn)字符串的方法是一樣的。
?
轉(zhuǎn)置2D陣列
這里用到了內(nèi)置函數(shù)zip,zip很強(qiáng)大,可用專門學(xué)習(xí)一下。
?
鏈?zhǔn)奖容^
這就是數(shù)學(xué)里面的數(shù)字比較,比C、C++簡(jiǎn)便
?
鏈?zhǔn)胶瘮?shù)調(diào)用
(product if b else add)這個(gè)表達(dá)式返回的是函數(shù)對(duì)象,函數(shù)對(duì)象的調(diào)用
?
列表復(fù)制
列表的淺拷貝和深拷貝,使用的時(shí)候要注意不同場(chǎng)景需要不同的拷貝
?
字典的get方法
d.get('c', 3)就是取key為'c'的值,如果不存在該key則默認(rèn)返回3
?
按值排序字典
給出了三種方法,都很好的方法,第一種用到了lambda函數(shù)
?
這樣也可以的用法:for else?
這個(gè)用法很少見(jiàn),視情況而用。
?
把列表用符號(hào)拼接成字符串
這個(gè)跟之前差不多,用到了map把整數(shù)轉(zhuǎn)換成字符串
?
合并字典
通常是update方法,前兩種很少見(jiàn)
?
找出列表中最大值或最小值的index
這個(gè)方法也很少見(jiàn),尤其是用到__getitem__這樣的私有方法
?
去掉列表中重復(fù)的元素
把list轉(zhuǎn)換成set再換回list,這是很經(jīng)典的列表去重方法
上面這些技巧大多來(lái)自github項(xiàng)目PyTricks,不妨去那里看看,以學(xué)到更多的Python技巧。
推薦閱讀
Python用不好?看官方中文文檔啦
總結(jié)
以上是生活随笔為你收集整理的Python 中实用却不常见的小技巧!的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 小长假来了,送 40 本 Python
- 下一篇: TensorFlow的新生!