最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python創(chuàng)建空列表的字典2種方法詳解

 更新時間:2020年02月13日 15:38:44   投稿:WDC  
這篇文章主要介紹了Python創(chuàng)建空列表的字典2種方法詳解,需要的朋友可以參考下

如果要在 Python 中創(chuàng)建鍵值是空列表的字典,有多種方法,但是各種方法之間是否由區(qū)別?需要作實驗驗證,并且分析產(chǎn)生的原因。本文針對兩種方法做了實驗和分析。

如果要在 Python 中創(chuàng)建一個鍵值都是列表的字典,類似下面這樣,該怎么做?

{1:[], 2:[], 3:[], 4:[]}

方法1,字典構(gòu)造器

用 dict 構(gòu)造器生成,構(gòu)造(key,value)對

> key = [1, 2, 3, 4]
> a = dict([(k,[]) for k in key])
> a
{1: [], 2: [], 3: [], 4: []}

方法2,使用 fromkeys()

用字典的方法fromkeys(key list, default value)

> key = [1, 2, 3, 4]
> b = {}.fromkeys(key,[])
> b
{1: [], 2: [], 3: [], 4: []}

結(jié)果對比

這兩種方法生成的字典有沒有區(qū)別?檢驗一下:

> a[1].append(1)
> a
{1: [1], 2: [], 3: [], 4: []} # 僅影響對應的鍵值列表
>
> b[1].append(1)
> b
{1: [1], 2: [1], 3: [1], 4: [1]} # 所有鍵值列表都受影響

上面的結(jié)果中,發(fā)現(xiàn)使用 fromkeys() 方法生成的空列表,都增加了一個元素。似乎他們是同一個對象。

原因分析

從上面看出,用fromkeys( )方法生成的字典里的空列表其實是同一個對象。為什么會這樣?因為傳給fromkeys( )函數(shù)的參數(shù)”[]“是同一個對象,fromkeys( )把這一個對象的淺拷貝放在字典里了。

如果這個對象是 mutable 的,就會在后續(xù)的操作中出問題。如果創(chuàng)建字典的對象是mutable的,應該避免使用fromkeys( )

更多關(guān)于Python創(chuàng)建空列表的字典方法請查看下面的相關(guān)鏈接

相關(guān)文章

  • PyQt5+pycharm開發(fā)環(huán)境搭建的實現(xiàn)步驟(圖文)

    PyQt5+pycharm開發(fā)環(huán)境搭建的實現(xiàn)步驟(圖文)

    本文針對創(chuàng)建PyQt運行環(huán)境+PyCharm開發(fā)環(huán)境的過程進行記錄,文中通過圖片示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • python實現(xiàn)Dijkstra靜態(tài)尋路算法

    python實現(xiàn)Dijkstra靜態(tài)尋路算法

    這篇文章主要介紹了python實現(xiàn)Dijkstra靜態(tài)尋路算法,常用于路由算法或者作為其他圖算法的一個子模塊,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-01-01
  • python用socket傳輸圖片的項目實踐

    python用socket傳輸圖片的項目實踐

    使用python在網(wǎng)絡上傳送圖片數(shù)據(jù),需要以byte格式讀取圖片,這樣才可以通過socket傳輸,本文就來介紹了python用socket傳輸圖片的項目實踐,具有一定的參考價值,感興趣的可以了解一下
    2024-02-02
  • python數(shù)據(jù)處理67個pandas函數(shù)總結(jié)看完就用

    python數(shù)據(jù)處理67個pandas函數(shù)總結(jié)看完就用

    這篇文章主要介紹了python數(shù)據(jù)處理67個pandas函數(shù)的梳理總結(jié),看完就可以去用了,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-11-11
  • python中尾遞歸用法實例詳解

    python中尾遞歸用法實例詳解

    這篇文章主要介紹了python中尾遞歸用法,較為詳細的分析了尾遞歸原理與相關(guān)使用技巧,非常具有實用價值,需要的朋友可以參考下
    2015-04-04
  • 使用Pytest.main()運行時參數(shù)不生效問題解決

    使用Pytest.main()運行時參數(shù)不生效問題解決

    本文主要介紹了使用Pytest.main()運行時參數(shù)不生效問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-02-02
  • Python lxml模塊的基本使用方法分析

    Python lxml模塊的基本使用方法分析

    這篇文章主要介紹了Python lxml模塊的基本使用方法,結(jié)合實例形式分析了Python安裝與使用lxml模塊常見操作技巧與相關(guān)注意事項,需要的朋友可以參考下
    2019-12-12
  • python PyQt5事件機制和定時器原理分析及用法詳解

    python PyQt5事件機制和定時器原理分析及用法詳解

    PyQt為事件處理提供了兩種機制:高級的信號與槽機制,以及低級的事件處理機制,在基于PyQt5的應用程序開發(fā)過程中經(jīng)常會遇到一些需要循環(huán)執(zhí)行的任務,即定時多長時間任務循環(huán)一次,本文給大家介紹了python PyQt5事件機制和定時器原理和用法,需要的朋友可以參考下
    2024-07-07
  • matplotlib.pyplot繪圖顯示控制方法

    matplotlib.pyplot繪圖顯示控制方法

    今天小編就為大家分享一篇matplotlib.pyplot繪圖顯示控制方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 如何使用PyCharm引入需要使用的包的方法

    如何使用PyCharm引入需要使用的包的方法

    這篇文章主要介紹了如何使用PyCharm引入需要使用的包的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-09-09

最新評論

柳林县| 时尚| 昌都县| 蒲江县| 井陉县| 汝州市| 张北县| 蓝田县| 库伦旗| 河西区| 宜兴市| 万源市| 浦北县| 龙口市| 册亨县| 宿松县| 兴和县| 武定县| 农安县| 银川市| 钦州市| 桓仁| 巢湖市| 尚义县| 工布江达县| 喀喇| 庆安县| 沐川县| 登封市| 崇义县| 济源市| 舟曲县| 和龙市| 龙游县| 河源市| 和田市| 康保县| 金湖县| 沙洋县| 陆川县| 古交市|