Python字典一个key对应多个value几种实现方式
python的字典是一个key对应一个value,如果想要一个key对应多个value,那么可以用以下几种方法来实现。
方法一:创建key对应列表
name_list = ['Mary', 'Jack'] age_list = [10, 12] stu_dict = { 'name': name_list, 'age': age_list } print(stu_dict)
输出结果如下:
{'name': ['Mary', 'Jack'], 'age': [10, 12]}
方法二:使用dict.setdefault()方法
stu_dict_1 = {} key1 = 'name' key2 = 'age' # 使key对应一个空列表,并使用.append()方法对空列表进行元素的添加 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)
输出结果如下:
{'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)
输出结果如下:
defaultdict(<class 'list'>, {'name': ['Mary', 'Jack'], 'age': [10, 12]})
defaultdict是Python内建dict类的一个子类,其使用一个factory_function作为输入,这个factory_function可以是list、set、str等等。
dict = defaultdict(factory_function)
在实际使用过程中,我们除了需要字典一个key对应多个value,可能还有对多个value值去重的需求,这时,只需要创建一个 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)
输出结果如下:
defaultdict(<class 'set'>, {'name': {'Mary', 'Jack'}, 'age': {10}})
总结
到此这篇关于Python字典一个key对应多个value几种实现方式的文章就介绍到这了,更多相关Python字典key对应多value内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
python使用beautifulsoup从爱奇艺网抓取视频播放
这篇文章主要介绍了python使用beautifulsoup从爱奇艺网抓取视频并播放示例,大家参考使用吧2014-01-01python,Java,JavaScript实现indexOf
这篇文章主要介绍了python,Java,JavaScript如何实现indexOf,帮助大家更好的理解indexOf,感兴趣的朋友可以了解下2020-09-09Python通过pytesseract库实现识别图片中的文字
Pytesseract是一个Python的OCR库,它可以识别图片中的文本并将其转换成文本形式。本文就来用pytesseract库实现识别图片中的文字,感兴趣的可以了解一下2023-05-05
最新评论