首页  编辑  

Python字典数据对象自动初始化不存在的Key

Tags: /Python/   Date Created:
Python中,如果 aa[code][gate] = 1,如果aa下没有code,gate,如何自动生成新的保存进去?
你希望在字典 a 中使用类似 a[code][gate] 的结构时,如果 a 为空,你可以使用 collections.defaultdict 来实现自动生成并保存数据的操作。defaultdict 可以在访问不存在的键时自动创建默认值。以下是一个示例:
from collections import defaultdict # 创建一个嵌套的 defaultdict a = defaultdict(lambda: defaultdict(int)) # 要设置的值 code = "example_code" gate = "example_gate" # 直接设置值,会自动生成对应的嵌套字典并保存数据 a[code][gate] = 1 print(a)
在这个示例中,我们创建了一个嵌套的 defaultdict,其中内部的默认值是 int 类型(初始为0)。当你使用 a[code][gate] = 1 时,如果 a 中不存在 code 这个键,会自动创建一个新的嵌套字典,并将 gate 键的值设置为1。
这种方法更加简洁和优雅,不需要显式的检查和创建空字典。