這是一個老外總結的Python的小技巧:python
「Talk is cheap show me the code」,這是編程人條,說半天不如幾行代碼更有說服力。接下來,咱們就用代碼說明那些不怎麼常見可是很是有用的小技巧。github
變量值互換編程
這是很是Python範兒(Pythonic)的值交互方法,省去了C、C++中的中間變量python爬蟲
把list的全部元素拼接成一個字符串函數
這個技巧其實就是使用了字符串的join()方法,鏈接符能夠是任意字符串,被join的能夠是任意的可迭代對象(iterables),好比:列表、字典、集合、元組等。學習
找出list中出現頻率最高的元素測試
這裏給出了兩種方法,有興趣的話,能夠測試一下哪一種方法更快。3d
判斷兩個字符串是否包含相同的字符code
其實判斷的是兩個字符串中字符相同且每一個字符出現的次數也相同。
反轉字符串
這裏有三種方法,第一種是最多見的,第三種是借用反轉字符串的方法來反轉整數。
反轉列表
這裏反轉列表的方法,其實跟上面反轉字符串的方法是同樣的。
轉置2D陣列
這裏用到了內置函數zip,zip很強大,可用專門學習一下。
鏈式比較
這就是數學裏面的數字比較,比C、C++簡便
鏈式函數調用
(product if b else add)這個表達式返回的是函數對象,函數對象的調用
列表複製
列表的淺拷貝和深拷貝,使用的時候要注意不一樣場景須要不一樣的拷貝
字典的get方法
d.get('c', 3)就是取key爲'c'的值,若是不存在該key則默認返回3
按值排序字典
給出了三種方法,都很好的方法,第一種用到了lambda函數
這樣也能夠的用法:for else
這個用法不多見,視狀況而用。
把列表用符號拼接成字符串
這個跟以前差很少,用到了map把整數轉換成字符串
合併字典
一般是update方法,前兩種不多見
找出列表中最大值或最小值的index
這個方法也不多見,尤爲是用到__getitem__這樣的私有方法
去掉列表中重複的元素
把list轉換成set再換回list,這是很經典的列表去重方法
上面這些技巧大多來自github項目PyTricks,不妨去那裏看看,以學到更多的Python技巧。