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。
这种方法更加简洁和优雅,不需要显式的检查和创建空字典。