python defaultdict用法

pre:
python 生成字典能夠使用{},能夠使用dict,生成的字典在 dict[key]取值時若是key不存在會報錯python

defaultdict

當字典裏的key不存在可是取值時不會報錯,會返回一個默認值,默認值取決於初始化的工廠函數

  • dict =defaultdict(factory_function)app

  • factory_function函數

    1. factory_function爲list時,默認值爲[]
    2. factory_function爲str時,默認值爲"",即空字符串
    3. factory_function爲set時,默認值爲set()
    4. factory_function爲int時,默認值爲0
  • exp(list)code

    from collections import defaultdict
    # list 第一次返回空列表,能夠實現數據合併
    s = [('red', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
    d = defaultdict(list)
    for k, v in s:
        d[k].append(v)
    print(d)
    # defaultdict(<class 'list'>, {'red': [1, 1], 'blue': [2, 4], 'yellow': [3]})
  • exp(int)字符串

    from collections import defaultdict
    # int 初始化返回0,實現計數
    str = "aswewesdcawreqmo"
    d = defaultdict(int)
    for s in str:
        d[s]+=1
    print(d)
    # defaultdict(<class 'int'>, {'a': 2, 's': 2, 'w': 3, 'e': 3, 'd': 1, 'c': 1, 'r': 1, 'q': 1, 'm': 1, 'o': 1})
相關文章
相關標籤/搜索