繁体   English   中英

如果键已经存在,如何将列表值添加到字典中

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM