Lunski's Clutter

This is a place to put my clutters, no matter you like it or not, welcome here.

0%

Collections

就跟Java一樣,語言學習到一定程度就會從基礎類別str, int, list, tuple, set, dict增加更方便的collections.

而這篇會介紹collections有哪些,接下來再個別介紹。

  • from collections import defaultdict
    帶有默認值,Key不存在會自動生成相應型別的value

  • from collections import OrderedDict
    有序字典

  • from collections import deque
    雙端隊列,可以快速的從另外一側追加和推出對象
    list儲存資料的優勢在於按索引查詢元素會很快,但是插入和刪除元素就很慢了,因為list是基於陣列實現的。deque是為了高效實現插入和刪除操作的雙向列表,適合用於佇列和棧,而且執行緒安全

  • from collections import Counter
    用來統計相關元素的出現次數

  • from collections import namedtuple
    生成可以使用名字來訪問元素內容的tuple子類,提供2種方法:
    _make() 向新建對像中傳遞可迭代對象代替*args
    _asdict() 方法可以將一個namedtuple對象轉換為一個orderdict字典

  • from collections import ChainMap
    可以用來合併多個字典。

  • from collections import UserDict
    Dict封裝

  • from collections import UserList
    List封裝

  • from collections import UserString
    String封裝

其他好用的酷東西

zip

以前知道方便粘合跟拆解,反轉倒是很新鮮

itertools

排列組合是我高中惡夢,沒想到這麼方便就算出來了(汗

lambda

Java也有,能方便簡潔構建程式

random

Shvara API的本體

如果還想知道類似的東西歡迎下方留言跟我說,也祝大家黑皮牛夜。


如果你覺得這篇文章很棒,請你不吝點讚 (゚∀゚)

Welcome to my other publishing channels