我正在努力实现一种搜索算法。当涉及到python时,我仍然是绿色的,但我的问题让我感到非常奇怪。我创建了一个包含链接的字典。当我打印出字典时,第一对被删除了。代码的其余部分也是如此,因此失败。
links = {'A': 'B', 'A': 'C', 'D': 'A', 'E': 'A'}
print links
这就是在程序开始时调用的所有代码。这实际上是第二次和第三次通话,而且仍然很奇怪。
通过这个它会让你更好地了解 dic、list 和元组,而你上面的代码不起作用,因为你试图在 dic 中存储同一键的值。需要具有唯一键,否则它将覆盖
喜欢这个
A = {'A':'1','A':'2','B':'3'}
这里 A 键不是唯一的,因此它将被覆盖,而在下面提及代码中它不会
A = {'A1':'1', 'A2':'2', 'A3':'3'}
如果您有多次密钥,则需要使用其他方法来存储数据。
您可以使用列表列表,但这不允许您使用所有不错的字典功能:
links = [['A', 'B'], ['A', 'C'], ['D', 'A'], ['E', 'A']]
或者,您可以使用列表作为值。
links = {'A': ['B', 'C'], 'D': ['A'], 'E': ['A']}
如果您动态生成字典,则默认字典会很有帮助,它会初始化键的值,例如使用列表:
from collections import defaultdict
links = defaultdict(list)
links['A'].append('B')
links['A'].append('C')