欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python?中defaultdict()對字典進(jìn)行初始化的用法介紹

 更新時間:2022年07月05日 09:09:37   作者:m0_46483236  
這篇文章主要介紹了python?中defaultdict()對字典進(jìn)行初始化,一般情況下,在使用字典時,先定義一個空字典(如dict_a?=?{}),然后往字典中添加元素只需要?dict_a[key]?=?value即可,本文通過實(shí)例代碼介紹具體用法,需要的朋友可以參考下

用法講解:

  • 一般情況下,在使用字典時,先定義一個空字典(如dict_a = {}),然后往字典中添加元素只需要 dict_a[key] = value即可。讀取字典中的元素時同理,但前提時字典中存在這個key,否則就會報錯。
  • defaultdict()的作用在于,即使字典中的key不存在,在查找時也會對它的value賦予一個默認(rèn)值,從而避免了報錯。
  • 具體來說,defaultdict接受一個工廠函數(shù)作為參數(shù),如下來構(gòu)造:
dict =defaultdict(factory_function)
  • 這個factory_function可以是list、set、str等等,作用是當(dāng)key不存在時,返回的是工廠函數(shù)的默認(rèn)值,比如list對應(yīng)[ ],str對應(yīng)的是空字符串,set對應(yīng)set( ),int對應(yīng)0。
from collections import defaultdict
dict1 = defaultdict(int)  # dict1[1]=0
dict2 = defaultdict(set)  # dict2[1]=set()
dict3 = defaultdict(str)  # dict3[1]=
dict4 = defaultdict(list) # dict4[1]=[

應(yīng)用舉例: 題目描述:

1. 不使用defaultdict(): 

def isAnagram(s, t):
    """
    :type s: str
    :type t: str
    :rtype: bool
    """
    dict_s = {}
    for item in s:
        if item not in dict_s.keys():
            dict_s[item] = 1
        else:
            dict_s[item] += 1
    dict_t = {}
    for item in t:
        if item not in dict_t.keys():
            dict_t[item] = 1
        else:
            dict_t[item] += 1
    return dict_s == dict_t

2. 使用defaultdict(): 

def isAnagram(self, s, t):
    """
    :type s: str
    :type t: str
    :rtype: bool
    """
    from collections import defaultdict
    dict_s = defaultdict(int)
    dict_t = defaultdict(int)
    for item in s:
        dict_s[item] += 1
    for item in t:
        dict_t[item] += 1
    return dict_s == dict_t

參考:https://www.jianshu.com/p/bbd258f99fd3 

到此這篇關(guān)于python 中defaultdict()對字典進(jìn)行初始化的文章就介紹到這了,更多相關(guān)python defaultdict()初始化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python3單行定義多個變量或賦值方法

    Python3單行定義多個變量或賦值方法

    今天小編就為大家分享一篇Python3單行定義多個變量或賦值方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • 談?wù)刾ython垃圾回收機(jī)制

    談?wù)刾ython垃圾回收機(jī)制

    這篇文章主要介紹了python垃圾回收機(jī)制的相關(guān)資料,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-09-09
  • Python 網(wǎng)頁解析HTMLParse的實(shí)例詳解

    Python 網(wǎng)頁解析HTMLParse的實(shí)例詳解

    這篇文章主要介紹了Python 網(wǎng)頁解析HTMLParse的實(shí)例詳解的相關(guān)資料,python里提供了一個簡單的解析模塊HTMLParser類,使用起來也是比較簡單的,解析語法沒有用到XPath類似的簡潔模式,需要的朋友可以參考下
    2017-08-08
  • Django完整增刪改查系統(tǒng)實(shí)例代碼

    Django完整增刪改查系統(tǒng)實(shí)例代碼

    Django實(shí)現(xiàn)增刪改查,主要是依賴于models來實(shí)現(xiàn)的,下面這篇文章主要給大家介紹了關(guān)于Django完整增刪改查系統(tǒng)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • Python中的類型提示(Type Hints)總結(jié)

    Python中的類型提示(Type Hints)總結(jié)

    Python3.5 版本引入了類型提示(Type Hints),它允許開發(fā)者在代碼中顯式地聲明變量、函數(shù)、方法等的類型信息,下面小編就來帶大家一起看看Python類型提示的初步使用吧
    2023-05-05
  • python飛機(jī)大戰(zhàn)pygame碰撞檢測實(shí)現(xiàn)方法分析

    python飛機(jī)大戰(zhàn)pygame碰撞檢測實(shí)現(xiàn)方法分析

    這篇文章主要介紹了python飛機(jī)大戰(zhàn)pygame碰撞檢測實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了Python使用pygame實(shí)現(xiàn)飛機(jī)大戰(zhàn)游戲中碰撞檢測的原理與相關(guān)操作技巧,需要的朋友可以參考下
    2019-12-12
  • 基于python,Matplotlib繪制函數(shù)的等高線與三維圖像

    基于python,Matplotlib繪制函數(shù)的等高線與三維圖像

    這篇文章主要介紹了基于python,Matplotlib繪制函數(shù)的等高線與三維圖像,函數(shù)的等高線及其三維圖像的可視化方法,下面一起來學(xué)習(xí)具體內(nèi)容吧,需要的小伙伴可以參考一下
    2022-01-01
  • python pycurl驗(yàn)證basic和digest認(rèn)證的方法

    python pycurl驗(yàn)證basic和digest認(rèn)證的方法

    這篇文章主要介紹了python pycurl驗(yàn)證basic和digest認(rèn)證的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-05-05
  • Python簡易計(jì)算器制作方法代碼詳解

    Python簡易計(jì)算器制作方法代碼詳解

    這篇文章主要介紹了Python簡易計(jì)算器制作方法,文中代碼主要用到了python中的tkinter庫,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • python處理yaml文件的操作方法

    python處理yaml文件的操作方法

    yaml文件是一種數(shù)據(jù)序列化語言,廣泛用于配置文件、日志文件、等,本文給大家介紹python處理yaml文件的操作方法,感興趣的朋友跟隨小編一起看看吧
    2023-11-11

最新評論