如何设置Python字典中不存在的键的默认值?

2026-04-20 00:381阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计718个文字,预计阅读时间需要3分钟。

如何设置Python字典中不存在的键的默认值?

目录 + Python字典设置默认值 + 初始化的时设置默认值(defaultdict 或 dict.fromkeys) + 获取值之前的时设置默认值(setdefault(key, default)) + 获取值时的默认值设置(dict.get(key, default)) + Python

目录
  • Python字典设置默认值
    • 初始化的时候设定默认值(defaultdict 或 dict.fromkeys)
    • 获取值之前的时候设定默认值(setdefault(key, default))
    • 获取值的时候设定默认值(dict.get(key, default))
  • python创建带默认值的字典
    • 总结

      Python字典设置默认值

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

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

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

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

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

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

      如何设置Python字典中不存在的键的默认值?

      >>> 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 "<stdin>", line 1, in <module> 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 :[])

      总结

      以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。

      本文共计718个文字,预计阅读时间需要3分钟。

      如何设置Python字典中不存在的键的默认值?

      目录 + Python字典设置默认值 + 初始化的时设置默认值(defaultdict 或 dict.fromkeys) + 获取值之前的时设置默认值(setdefault(key, default)) + 获取值时的默认值设置(dict.get(key, default)) + Python

      目录
      • Python字典设置默认值
        • 初始化的时候设定默认值(defaultdict 或 dict.fromkeys)
        • 获取值之前的时候设定默认值(setdefault(key, default))
        • 获取值的时候设定默认值(dict.get(key, default))
      • python创建带默认值的字典
        • 总结

          Python字典设置默认值

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

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

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

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

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

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

          如何设置Python字典中不存在的键的默认值?

          >>> 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 "<stdin>", line 1, in <module> 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 :[])

          总结

          以上为个人经验,希望能给大家一个参考,也希望大家多多支持自由互联。