[英]How to add data to an already existing KEY in a List of Dictionary in Python 3
[英]how to add list value to dictionary to key if the key is already exists
我有一个包含所有可能单词(键)的字典及其在拼图游戏板上的坐标(值)。
我正在编写代码以查找板上合法单词的所有路径。
我创建了一个新字典,以便只包含合法的单词和路径,所以我想如果有一个单词有几个路径,我想将它组合到单词的相同值。
起初我附加了第一个合法路径,例如我有 -
{"dog" : [(0,1),(0,2),(0,3)]}
现在我有另一条路径 - [(1,0),(2,0),(3,0)] 我希望输出是 -
{"dog" : [(0,1),(0,2),(0,3)],[(1,0),(2,0),(3,0)]}
我尝试了一些选项,但在所有选项中我都得到了 -
{"dog" : [(0,1),(0,2),(0,3),(1,0),(2,0),(3,0)]}
这不是我想要的。 我很乐意提供任何帮助。
您需要从一个空列表或列表列表开始,然后追加。
dictionary = {"dog" : []}
dictionary['dog'].append([(0,1),(0,2),(0,3)])
dictionary['dog'].append([(1,0),(2,0),(3,0)])
结果:
{'dog': [[(0, 1), (0, 2), (0, 3)], [(1, 0), (2, 0), (3, 0)]]}
一个键只能保存一个值。 您的期望输出是一个键的 2 个值。 我认为嵌套数组是你想要的,它看起来像这样:
dict = {"dog" : [[(0,1),(0,2),(0,3)]]}
print("Initial dog paths: {}".format(dict["dog"]))
dict["dog"].append([(1,0),(2,0),(3,0)])
print("Final dog paths: {}".format(dict["dog"]))
输出:
Initial dog paths: [[(0, 1), (0, 2), (0, 3)]]
Final dog paths: [[(0, 1), (0, 2), (0, 3)], [(1, 0), (2, 0), (3, 0)]]
字典中的每个键只能有一个值。 如果你想存储多个值,在这种情况下是列表,你可以尝试一个列表列表,如:
{"dog" : [[(0,1),(0,2),(0,3)]]}
在这种情况下,您只需将路径 [(1,0),(2,0),(3,0)] 附加到外部列表,字典将变为:
{"dog" : [[(0,1),(0,2),(0,3)],[(1,0),(2,0),(3,0)]]}
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.