当前位置:主页 > python教程 > Python字典设置默认值

Python中如何给字典设置默认值

发布:2023-03-30 16:15:02 59


我们帮大家精选了相关的编程文章,网友甘真一根据主题投稿了本篇教程内容,涉及到Python字典、字典设置默认值、Python字典默认值、Python字典设置默认值相关内容,已被567网友关注,内容中涉及的知识点可以在下方直接下载获取。

Python字典设置默认值

Python字典设置默认值

我们都知道,在 Python 的字典里边,如果 key 不存在的话,通过 key 去取值是会报错的。

>>> aa = {'a':1, 'b':2}
>>> aa['c']
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'c'

如果我们在取不到值的时候不报错而是给定一个默认值的话就友好多了。

初始化的时候设定默认值(defaultdict 或 dict.fromkeys)

>>> from collections import defaultdict
>>> aa = defaultdict(int)
>>> aa['a'] = 1
>>> aa['b'] = 2
>>> aa
defaultdict(, {'a': 1, 'b': 2})
>>> aa['c']
0
>>> aa
defaultdict(, {'a': 1, 'b': 2, 'c': 0})
>>> aa = dict.fromkeys('abc', 0)
>>> aa
{'a': 0, 'b': 0, 'c': 0}

defaultdict(default_factory) 中的 default_factory 也可以传入自定义的匿名函数之类的哟。 

>>> aa = defaultdict(lambda : 1)
>>> aa['a']
1

获取值之前的时候设定默认值(setdefault(key, default)) 

这里有个比较特殊的点:只要对应的 key 已经被设定了值之后,那么对相同 key 再次设置默认值就没用了。

因此,如果你在循环里边给一个 key 重复设定默认值的话,那么也只会第一次设置的生效。

>>> aa = {'a':1, 'b':2}
>>> aa
{'a': 1, 'b': 2}
>>> aa.get('c')
>>> aa.setdefault('c', 'hello')
'hello'
>>> aa.get('c')
'hello'
>>> aa
{'a': 1, 'b': 2, 'c': 'hello'}
>>> aa.setdefault('c', 'world')
'hello'
>>> aa.get('c')
'hello'

获取值的时候设定默认值(dict.get(key, default))

>>> aa = {'a':1, 'b':2}
>>> aa
{'a': 1, 'b': 2}
>>> aa['c']
Traceback (most recent call last):
  File "", line 1, in 
KeyError: 'c'
>>> aa.get('c')
>>> aa
{'a': 1, 'b': 2}
>>> aa.get('c', 'hello')
'hello'
>>> aa.get('b')
2

python创建带默认值的字典

防止keyerror创建带默认值的字典

from collections import defaultdict
data = collections.defaultdict(lambda :[])

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持码农之家。


参考资料

相关文章

  • Python使用字典的嵌套功能详解

    发布:2022-10-19

    给网友们整理关于Python的教程,今天小编就为大家分享一篇关于Python使用字典的嵌套功能详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧


  • Python字典的三级菜单实现方法

    发布:2019-09-17

    下面小编就为大家带来一篇Python字典实现简单的三级菜单(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧


  • python字典添加元素的实例方法

    发布:2019-09-17

    python字典是另一种可变容器模型,且可存储任意类型对象。向python字典添加新内容的方法是增加新的键/值对。


  • python字典操作提取key,value的代码分享

    发布:2020-02-06

    这篇文章主要介绍了python 字典操作提取key,value的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧


  • python字典根据值返回键的代码分析

    发布:2020-05-21

    迭代的过程中如果没有发生对字典的修改,那么.keys() and .values 这两个函数返回的 dict-view对象总是保持对应关系。字典中的value不保证唯一性,不过字典中key的值是唯一的,因此可以根据值返回


  • python基础知识之字典(Dict)

    发布:2023-04-04

    这篇文章主要介绍了python基础知识之字典(Dict)的相关资料,需要的朋友可以参考下


  • python字典过滤条件的实例详解

    发布:2021-04-12

    今天小编就为大家分享一篇对python字典过滤条件的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧


  • 关于Python字典的底层实现原理

    发布:2023-04-13

    这篇文章主要介绍了关于Python字典的底层实现原理,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教


网友讨论