2017-10-14 41 views
-2

首先,我需要帮助将字典格式化为3个部分; 我已经试图通过这样做Python:词典,如何复制和更新第二个副本?

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

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

+0

我觉得你的第一行代码是未格式化。还有一些语法错误可以改变,以提高你的问题的质量。 – SteveFest

+0

@SteveFest发布编辑 – Adi219

+0

看起来像你需要的字典 –

回答

1

格式无语法错误:

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] 
#  } 
# } 

追加到字典中的数组:

d['A']['Round1'].append(8) 

# d = { 
#  'A': { 
#   'Round1': [4, 3, 2, 6, 7, 8], 
#   '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] 
#  } 
# } 
+0

我可以在其中添加更多字典吗? Like'B' – somebrick

+0

当然:'d ['B'] = {}' – aaron

+0

但是在相同格式的回合中?如'd = {B':{ 'Round1':[4,3,2,6,7], 'Round2':[1,2,5,3,4] } }' – somebrick