更新场我有一个字典,像这样:查找和嵌套字典在Python
mobs = {
'world': {
0: {'mID': 255, 'xPos': 29, 'yPos': 45}
1: {'mID': 784, 'xPos': 34, 'yPos': 84}
},
'village': {
0: {'mID': 256, 'xPos': 77, 'yPos': 25}
1: {'mID': 67, 'xPos': 92, 'yPos': 16}
2: {'mID': 998, 'xPos': 8, 'yPos': 5}
},
}
我要递增xPos
其中mID
= X在“世界”快译通,但不知道如何为指向它
我必须遍历world
中的每条记录并检查if mID = x
,还是有更快的方法?
(更新)
x = 784
for row in mobs['world']:
if mobs['world'][row]['ID'] == x:
mobs['world'][row]['xPos'] -= 1
也许你应该重新安排结构。中间字典看起来更像是一个列表,如果你通过'mID'访问这些项目,它可能是一个很好的字典键。 –
是的,如果你不想重新构造'dictionary',你必须循环遍历,但是你为这个任务所做的代码将不起作用。 –