亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python?字典中鍵映射多個值的問題解決

 更新時間:2025年01月17日 10:20:26   作者:大夢三千秋  
本文主要介紹了在Python中實現(xiàn)一個字典multidict中鍵可以對應(yīng)多個值,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

問題

如何實現(xiàn)一個字典(multidict)的鍵對應(yīng)多個值?

解決方法

字典的定義就是一個鍵對應(yīng)一個單值的映射。如果想要一個鍵映射多個值,那么需要將多個值放到其他容器中,例如列表和集合當中,示例代碼如下:

a = {
    'x': [1,2,3],
    'y': [4,5]
}

b = {
    'x': {1,2,3},
    'y': {4,5}
}

而選擇使用列表還是集合取決于實際的需求。如果需要保持插入元素的順序,建議選擇列表;如果需求需要去掉重復(fù)的元素,建議選擇集合。

Python 提供的 collections 模塊中,defaultdict 可以實現(xiàn)構(gòu)造這樣的字典。defaultdict 有個特征是能夠自動初始化每個 key 剛開始對應(yīng)的值,所以只需要進行添加元素的操作。示例如下:

from collections import defaultdict

dl = defaultdict(list)
dl['x'].append(1)
dl['x'].append(2)
dl['y'].append(3)

ds = defaultdict(set)
ds['x'].add(1)
ds['x'].add(2)
ds['y'].add(3)

print(dl)
print(ds)

這里需要注意的是,defaultdict 會自動為將要訪問的鍵(即使目前字典中不存在這個鍵)創(chuàng)建映射實體。所以如果不需要這種特性,可以在普通字典中使用 setdefault() 方法代替。示例如下:

d = {}
d.setdefault('x', []).append(1)
d.setdefault('x', []).append(2)
d.setdefault('y', []).append(3)

但這種方法被認為過于繁瑣,因為每次調(diào)用都要創(chuàng)建新的初始值示例,例如上面代碼中的空列表([]

代碼解析

上面提及的映射多值的字典,實際上也能夠自己實現(xiàn),但是對于值的初始化會比較麻煩,示例如下:

d = {}
for key, value in items:
    if key not in d:
        d[key] = []
    d[key].append(value)

而使用 defaultdict 則會更加簡潔:

d = defaultdict(list)
for key, value in items:
    d[key].append(value)

到此這篇關(guān)于Python 字典中鍵映射多個值的問題解決的文章就介紹到這了,更多相關(guān)Python 字典鍵映射值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 在Python web中實現(xiàn)驗證碼圖片代碼分享

    在Python web中實現(xiàn)驗證碼圖片代碼分享

    這篇文章主要介紹了在Python web中實現(xiàn)驗證碼圖片代碼分享,具有一定參考價值,需要的朋友可以了解下。
    2017-11-11
  • Python面向?qū)ο缶幊讨惖倪M階

    Python面向?qū)ο缶幊讨惖倪M階

    這篇文章主要介紹了Python面向?qū)ο缶幊讨惖囊茫?Reference是對象的指針,引用是內(nèi)存中真實對象的指針,表示為變量名或者內(nèi)存地址、每個對象存在至少一個引用,id()函數(shù)用于獲得引用,想具體了解的小伙伴可以參考下面文章的內(nèi)容
    2021-11-11
  • Python制作微信好友背景墻教程(附完整代碼)

    Python制作微信好友背景墻教程(附完整代碼)

    這篇文章主要介紹了Python制作微信好友背景墻教程(附完整代碼),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-07-07
  • python開發(fā)前景如何

    python開發(fā)前景如何

    在本篇文章中小編給大家整理了關(guān)于python開發(fā)前景的知識點及相關(guān)內(nèi)容,有興趣的朋友們可以跟著學(xué)習(xí)參考下。
    2020-06-06
  • Python學(xué)習(xí)之文件的讀取詳解

    Python學(xué)習(xí)之文件的讀取詳解

    這篇文章主要為大家介紹了Python中如何將文件中的內(nèi)容讀取出去來的方法,文中通過示例進行了詳細講解,感興趣的小伙伴快跟隨小編一起學(xué)習(xí)一下
    2022-03-03
  • Python實現(xiàn)定時任務(wù)的九種方案總結(jié)

    Python實現(xiàn)定時任務(wù)的九種方案總結(jié)

    定時任務(wù)是編程中常見的需求,它可以按照預(yù)定的時間表執(zhí)行特定的任務(wù)或操作,在Python中,有多種方法可以實現(xiàn)定時任務(wù),下面小編就來和大家詳細講講吧
    2023-11-11
  • Python實戰(zhàn)快速上手BeautifulSoup庫爬取專欄標題和地址

    Python實戰(zhàn)快速上手BeautifulSoup庫爬取專欄標題和地址

    BeautifulSoup是爬蟲必學(xué)的技能,BeautifulSoup最主要的功能是從網(wǎng)頁抓取數(shù)據(jù),Beautiful Soup自動將輸入文檔轉(zhuǎn)換為Unicode編碼,輸出文檔轉(zhuǎn)換為utf-8編碼
    2021-10-10
  • Python GAE、Django導(dǎo)出Excel的方法

    Python GAE、Django導(dǎo)出Excel的方法

    在Python中操作Excel的方法可以通過COM,最常用的跨平臺的方法是使用pyExcelerator,pyExcelerator的使用方法可以參考limodou的《使用pyExcelerator來讀寫Excel文件》。
    2008-11-11
  • Python查找數(shù)組中數(shù)值和下標相等的元素示例【二分查找】

    Python查找數(shù)組中數(shù)值和下標相等的元素示例【二分查找】

    這篇文章主要介紹了Python查找數(shù)組中數(shù)值和下標相等的元素,結(jié)合實例形式分析了Python基于二分查找針對數(shù)組查找相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-02-02
  • 在Django同1個頁面中的多表單處理詳解

    在Django同1個頁面中的多表單處理詳解

    這篇文章主要給大家介紹了在Django同1個頁面中的多表單處理的相關(guān)資料,文章先給大家介紹了如何快速上手Django實現(xiàn)項目的方法,方便讓大家理解和學(xué)習(xí),需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01

最新評論