Python中的字典一键多值的四种写法小结
1. 背景介绍
在 Python 中,字典的键是唯一的,但可以通过将值与列表、集合等数据结构结合,实现一个键对应多个值。以下是几种常见写法:
2. 方法1—使用列表存储多个值
my_dict = {}
# 添加值
my_dict.setdefault('key1', []).append('value1')
my_dict.setdefault('key1', []).append('value2')
# 结果
print(my_dict) # 输出: {'key1': ['value1', 'value2']}
3. 方法2—使用集合存储多个值(确保唯一性)
my_dict = {}
# 添加值
my_dict.setdefault('key1', set()).add('value1')
my_dict.setdefault('key1', set()).add('value2')
my_dict.setdefault('key1', set()).add('value1') # 重复值不会被添加
# 结果
print(my_dict) # 输出: {'key1': {'value1', 'value2'}}
4. 方法3—使用 defaultdict 简化操作
from collections import defaultdict
# 使用列表
my_dict = defaultdict(list)
my_dict['key1'].append('value1')
my_dict['key1'].append('value2')
print(my_dict) # 输出: defaultdict(<class 'list'>, {'key1': ['value1', 'value2']})
# 使用集合
my_dict = defaultdict(set)
my_dict['key1'].add('value1')
my_dict['key1'].add('value2')
my_dict['key1'].add('value1') # 重复值不会被添加
print(my_dict) # 输出: defaultdict(<class 'set'>, {'key1': {'value1', 'value2'}})
5. 方法4—手动检查键是否存在
my_dict = {}
# 添加值
if 'key1' not in my_dict:
my_dict['key1'] = []
my_dict['key1'].append('value1')
my_dict['key1'].append('value2')
print(my_dict) # 输出: {'key1': ['value1', 'value2']}
6.方法补充
python 字典一键赋多值
方案一:
(1) list作为dict的值,值允许重复,append添加值
key = 0 value = [1,5] exp = dict() exp.setdefault(key,[]).append(value) value = [2,5] exp.setdefault(key,[]).append(value) print(exp)
输出:
{0: [[1, 5], [2, 5]]}
(2)set作为dict的值,值不允许重复,add添加值
key = 0 value = 1 exp = dict() exp.setdefault(key,set()).add(value) value = 2 exp.setdefault(key,set()).add(value) print(exp)
输出:
{0: {1, 2}}
方案二:
使用collections.defaultdict方法
(1)collections.defaultdict(list),值可以重复
import collections key = 0 value = 1 exp = collections.defaultdict(list) exp[key].append(value) value = 1 exp[key].append(value) print(exp)
输出:
defaultdict(<class 'list'>, {0: [1, 1]})
(2)collections.defaultdict(set),值不允许重复
import collections key = 0 value = 1 exp = collections.defaultdict(set) exp[key].add(value) value = 1 exp[key].add(value) value = 5 exp[key].add(value) print(exp)
输出:
defaultdict(<class 'set'>, {0: {1, 5}})
到此这篇关于Python中的字典一键多值的四种写法小结的文章就介绍到这了,更多相关Python字典一键多值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
libreoffice python 操作word及excel文档的方法
这篇文章主要介绍了libreoffice python 操作word及excel文档的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-07-07
Matplotlib实现subplot和subplots简单对比
在画布创建子图会有很多方法,本文主要介绍了Matplotlib实现subplot和subplots简单对比,简单的介绍了这两种方法区别,感兴趣的可以了解一下2021-05-05
python3中No module named _ssl的问题解决
本文主要介绍了python3中No module named _ssl的问题解决,这个错误表示Python导入_ssl模块时失败,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2024-08-08
PyTorch使用tensorboard的SummaryWriter报错问题解决方案
PyTorch使用tensorboard可以显示网络运行情况,但偶尔使用SummaryWriter时遇到Segmentation fault错误,这篇文章主要介绍了PyTorch使用tensorboard的SummaryWriter报错问题解决方案,需要的朋友可以参考下2024-06-06
jupyter notebook 中输出pyecharts图实例
这篇文章主要介绍了jupyter notebook 中输出pyecharts图实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2019-06-06


最新评论