【发布时间】:2016-08-26 09:04:14
【问题描述】:
我目前正在尝试在我的网页游戏中缓存很多内容。 它有点像一个快速运行的游戏,你有特定的部分,它会在字典中保存一个部分的每个持续时间。
所以现在,我有一个很长的字典:
dict = [{'account_id': '10', 'Damage': 4874, 'duration': 50.020756483078},
{'account_id': '10', 'Damage': 5920, 'duration': 20.020756483078},
{'account_id': '10', 'Damage': 2585, 'duration': 30.02078},
{'account_id': '4', 'Damage': 3145, 'duration': 21.020756483078},
{'account_id': '4', 'Damage': 4202, 'duration': 60.020756483078},
{'account_id': '4', 'Damage': 5252, 'duration': 66.020756483078}]
(还有更多,一个 account_id 最多 10 个部分,但我只是创建了一个用于此问题的示例)
然后我们需要将这些时间分配给一个 account_id
enterDict = {}
for x in dict :
enterDict[x["account_id"]] = x
但是当我尝试从缓存中获取时间时,通过
account_id = "4"
EnterInfo = enterDict[account_id]
print(EnterInfo)
它只返回一个
{'Damage': 5252, 'account_id': '4', 'duration': 66.020756483078}
作为补充:
如果我们解决了这个问题,我可以给他们下订单吗?因为dicts把一切都搞砸了。
所以它应该从最低的持续时间开始到最高的持续时间,因为那是正确的正确顺序。
所以我可以将 [0] 用于 21 的最短持续时间 [1] 用于 60,[2] 用于 66。我不介意是否有一个新键:值与 "order": "0", "订单”:“1”和“订单”:“2”
{'account_id': '4', 'Damage': 3145, 'duration': 21.020756483078},
{'account_id': '4', 'Damage': 4202, 'duration': 60.020756483078},
{'account_id': '4', 'Damage': 5252, 'duration': 66.020756483078}]
【问题讨论】:
标签: python-3.x dictionary key