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

Python字典一個key對應(yīng)多個value幾種實現(xiàn)方式

 更新時間:2023年10月31日 09:21:01   作者:酒釀小圓子~  
python中字典的健和值是一一對應(yīng)的,如果對字典進(jìn)行添加操作時如果健的名字相同,則當(dāng)前健對應(yīng)的值就會被覆蓋,有時候我們想要一個健對應(yīng)多個值的場景,這篇文章主要給大家介紹了關(guān)于Python字典一個key對應(yīng)多個value幾種實現(xiàn)方式的相關(guān)資料,需要的朋友可以參考下

python的字典是一個key對應(yīng)一個value,如果想要一個key對應(yīng)多個value,那么可以用以下幾種方法來實現(xiàn)。

方法一:創(chuàng)建key對應(yīng)列表

name_list = ['Mary', 'Jack']
age_list = [10, 12]
stu_dict = {
    'name': name_list,
    'age': age_list
}

print(stu_dict)

輸出結(jié)果如下:

{'name': ['Mary', 'Jack'], 'age': [10, 12]}

方法二:使用dict.setdefault()方法

stu_dict_1 = {}
key1 = 'name'
key2 = 'age'
# 使key對應(yīng)一個空列表,并使用.append()方法對空列表進(jìn)行元素的添加
stu_dict_1.setdefault(key1, []).append('Mary')
stu_dict_1.setdefault(key1, []).append('Jack')
stu_dict_1.setdefault(key2, []).append(10)
stu_dict_1.setdefault(key2, []).append(12)

print(stu_dict_1)

輸出結(jié)果如下:

{'name': ['Mary', 'Jack'], 'age': [10, 12]}

方法三:使用collections.defaultdict類

from collections import defaultdict
stu_dict_2 = defaultdict(list)
stu_dict_2['name'].append('Mary')
stu_dict_2['name'].append('Jack')
stu_dict_2['age'].append(10)
stu_dict_2['age'].append(12)

print(stu_dict_2)

輸出結(jié)果如下:

defaultdict(<class 'list'>, {'name': ['Mary', 'Jack'], 'age': [10, 12]})

defaultdict是Python內(nèi)建dict類的一個子類,其使用一個factory_function作為輸入,這個factory_function可以是list、set、str等等。

dict = defaultdict(factory_function)

在實際使用過程中,我們除了需要字典一個key對應(yīng)多個value,可能還有對多個value值去重的需求,這時,只需要創(chuàng)建一個 defaultdict(set) 的字典即可,樣例如下:

stu_dict_3 = defaultdict(set)
stu_dict_3['name'].add('Mary')
stu_dict_3['name'].add('Jack')
stu_dict_3['age'].add(10)
stu_dict_3['age'].add(10)

print(stu_dict_3)

輸出結(jié)果如下:

defaultdict(<class 'set'>, {'name': {'Mary', 'Jack'}, 'age': {10}})

總結(jié)

到此這篇關(guān)于Python字典一個key對應(yīng)多個value幾種實現(xiàn)方式的文章就介紹到這了,更多相關(guān)Python字典key對應(yīng)多value內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論