Python語言這麼火,不論是對於剛開始學習的編程小白或者有接觸過其他語言(c/c++/java等等)的同學來說,寫代碼的時候難免會受本身慣性思維或者其他語言的影響!解決問題的思路有的時候會比較單一,其實Python有很多靈活的解法,比如python的幾個高階函數或者特性!
推導式
列表推導式,使用一句表達式構造一個新列表,可包含過濾、轉換等操作。語法:[exp for item in collection if codition]
例子:1-1000內所有偶數組成的列表
2種方法,大家自己對比
字典推導式,使用一句表達式構造一個新列表,可包含過濾、轉換等操作。語法:{key_exp:value_exp for item in collection if codition}
集合推導式語法:{exp for item in collection if codition}
map函數
map(fun, lst),將傳入的函數變量func作用到lst變量的每個元素中,並將結果組成新的列表返回
規範字符串
filter函數
篩選序列filter(func, lst),將func作用於lst的每個元素,然後根據返回值是True或False判斷是保留還是丟棄該元素。
zip函數
zip([iterable, ...])用於將可迭代的對象作為參數,將對象中對應的元素打包成一個個元組,然後返回由這些元組組成的列表。
如果各個迭代器的元素個數不一致,則返回列表長度與最短的對象相同,利用 * 號操作符,可以將元組解壓為列表。
幾個zip技巧
zip是一個非常重要的函數,非常方便.熟悉掌握zip幫我們大幅的減少函數的代碼和複雜度,並且提高效率!
最後
其實Python的技巧非常非常多,大家平時的寫代碼或者讀代碼的時候要注意收集,特別是有一些精妙的招數,一時半會無法領悟,可以記下來,慢慢思考,總有一天會對你的功力增長大有裨益.
還是那句話,代碼一定要多練習才能掌握!大家加油!