gpt4 book ai didi

python - 附加到存储在嵌套字典中的列表

转载 作者:行者123 更新时间:2023-11-28 21:47:24 27 4
gpt4 key购买 nike

如果我想创建一个如下所示的字典:

switches = {'s1': {'port1': [[0, 0, 0], [1, 1, 1]], 'port2': [2,2,2]}}

我试过:

switches = {}
switches['s1'] = {}
switches['s1']['port1'] = [0, 0, 0]
switches['s1']['port1'] = [1, 1, 1]
switches['s1']['port2'] = [2, 2, 2]

但是,[1, 1, 1] 会覆盖 [0, 0, 0]!

如何为键 'port1' 获取值 [[0, 0, 0], [1, 1, 1]]

最佳答案

扩展 idjaw 的评论和 keksnicoh 的回答,我认为使用 defaultdict 可以让您的生活更轻松一些。

>>> from collections import defaultdict
>>> d = defaultdict(lambda: defaultdict(list))
>>> d['s1']['port1'].append([0, 0, 0])
>>> d['s1']['port1'].append([1, 1, 1])
>>> d['s1']['port2'].append([2, 2, 2])
>>> d
defaultdict(<function <lambda> at 0x7f5d217e2b90>, {'s1': defaultdict(<type 'list'>, {'port2': [[2, 2, 2]], 'port1': [[0, 0, 0], [1, 1, 1]]})})

您可以像使用普通词典一样使用它:

>>> d['s1']
defaultdict(<type 'list'>, {'port2': [[2, 2, 2]], 'port1': [[0, 0, 0], [1, 1, 1]]})
>>> d['s1']['port1']
[[0, 0, 0], [1, 1, 1]]

关于python - 附加到存储在嵌套字典中的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36533315/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com