Python:字典,如何复制和更新第二个副本?

时间:2017-10-14 10:39:44

标签: python dictionary

首先,我需要帮助将字典格式化为3个部分; 我试过这个

>>> d = {'A':{'Round1':[4,3,2,6,7]},{'Round2':[1,2,5,3,4]}}

但是收到语法错误。 此外,在我创建字典后,如何将其保存到另一个副本,然后在每一轮(如round3)中将更多数字添加到原始字典中。

1 个答案:

答案 0 :(得分:1)

没有语法错误的格式化:

binner
ainner1

将其保存到另一个副本:

d = {
    'A': {
        'Round1': [4, 3, 2, 6, 7],
        'Round2': [1, 2, 5, 3, 4]
    }
}

在原始字典中添加更多回合:

import copy
d2 = copy.deepcopy(d)

附加更多子词典:

d['A']['Round3'] = [1, 2, 3, 4, 5]

print(d)  # {'A': {'Round1': [4, 3, 2, 6, 7], 'Round2': [1, 2, 5, 3, 4], 'Round3': [1, 2, 3, 4, 5]}}
print(d2) # {'A': {'Round1': [4, 3, 2, 6, 7], 'Round2': [1, 2, 5, 3, 4]}}

附加到字典中的数组:

d['B'] = {'Round1': [4, 3, 2, 6, 7], 'Round2': [1, 2, 5, 3, 4]}

# d = {
#     'A': {
#         'Round1': [4, 3, 2, 6, 7],
#         'Round2': [1, 2, 5, 3, 4],
#         'Round3': [1, 2, 3, 4, 5]
#     },
#     'B': {
#         'Round1': [4, 3, 2, 6, 7],
#         'Round2': [1, 2, 5, 3, 4]
#     }
# }