我正在用python 3.7编写一些游戏代码。我使用很多字典来存储各种数据,有时我需要一个新字典来存储一个字典中的某些值,作为其他字典中的键。当我运行代码时,我在我的新字典中得到了一个值,我不知道为什么它会在那里。例子:
data = {'value1': 4, 'value2': 'hello'}
target = {'value1': 3}
def fillTarget(info, times):
for key, value in info.items():
if key == 'value2':
target[key] = value
target[value] = times
else:
for _ in range(times):
target[key] = target[key] + info[key]
fillTarget(data, 4)
当我打印(target)时,我最终得到:
{'value1': 19, 'value2': 'hello', 'hello': 4}
为什么我得到'value2'作为一个键,值在(目标)?不是第6-8行告诉它添加值作为一个键,但然后else:不应该将键转移到(目标)?
您正在向字典中添加两个条目
target[key] = value //{'value2': 'hello'}
// and
target[value] = times //{'hello': 4 }
//where key = 'value2', value = 'hello' and times = 4
点击这里获取更多关于如何在python中添加项到字典的详细信息。