(字典)在 Python 中存储带有 x,y 的键
(Dictionary) storing keys with x,y in Python
我想做的是用一个键存储一个 x,y 值。例如,在我的例子中,我需要它以便一旦任何 x,y 达到 3 的值,就会发生一些过程。
这是我尝试过的方法:但是,这给了我一个错误,因为我无法在字典中存储列表。
dictionary= {}
player = [0,0]
def Checking():
if player in dictionary:
dictionary[[player]] +=1
print("repopulate", dictionary)
else:
dictionary[player] = 0
print(dictionary)
if dictionary.get(player) >= 3:
print("It is done!")
编辑:
抱歉,问题不明确。玩家变量是用户输入的用户希望在给定的 x,y 范围内移动的位置。有多个宝物,如果用户选择位置x,y,与宝物x,y相同;然后+1应该被添加到那个宝藏。一旦宝物达到 3,就应该减少。
如果像这样将 x,y 列表保存在字典中,这也取决于您想要更改必须遍历列表的值时的条件。
treasureHits = {}
player = [0,0]
def myFunction():
treasureHits["key"]=[p+1 for p in player]
print treasureHits["key"]
myFunction()
这是我从你的问题中了解到的。
所以最简单的方法是调用玩家变量 str()
。这会将列表变成一个字符串。您需要这样做,因为字典不能使用列表作为键。所以请尝试以下操作:treasureHits[str(player)]
请注意,通常不推荐这样做,因为您会有非常不寻常的键,如果其他人要编辑您的代码,这可能会造成混淆。确保在您的代码中留下大量注释!
我想你想使用播放器作为你的键,并将计数作为该键的值:
>>> treasure_hits = {}
>>> player = (0,0)
>>> try:
... treasure_hits[player] += 1
... except KeyError:
... treasure_hits[player] = 0
...
>>> treasure_hits
{(0, 0): 0}
>>>
>>> try:
... treasure_hits[player] += 1
... except KeyError:
... treasure_hits[player] = 0
...
>>> treasure_hits
{(0, 0): 1}
>>>
制作 treasure_hits 元组而不是列表允许它用作键,因为它是不可变的
我想做的是用一个键存储一个 x,y 值。例如,在我的例子中,我需要它以便一旦任何 x,y 达到 3 的值,就会发生一些过程。
这是我尝试过的方法:但是,这给了我一个错误,因为我无法在字典中存储列表。
dictionary= {}
player = [0,0]
def Checking():
if player in dictionary:
dictionary[[player]] +=1
print("repopulate", dictionary)
else:
dictionary[player] = 0
print(dictionary)
if dictionary.get(player) >= 3:
print("It is done!")
编辑: 抱歉,问题不明确。玩家变量是用户输入的用户希望在给定的 x,y 范围内移动的位置。有多个宝物,如果用户选择位置x,y,与宝物x,y相同;然后+1应该被添加到那个宝藏。一旦宝物达到 3,就应该减少。
如果像这样将 x,y 列表保存在字典中,这也取决于您想要更改必须遍历列表的值时的条件。
treasureHits = {}
player = [0,0]
def myFunction():
treasureHits["key"]=[p+1 for p in player]
print treasureHits["key"]
myFunction()
这是我从你的问题中了解到的。
所以最简单的方法是调用玩家变量 str()
。这会将列表变成一个字符串。您需要这样做,因为字典不能使用列表作为键。所以请尝试以下操作:treasureHits[str(player)]
请注意,通常不推荐这样做,因为您会有非常不寻常的键,如果其他人要编辑您的代码,这可能会造成混淆。确保在您的代码中留下大量注释!
我想你想使用播放器作为你的键,并将计数作为该键的值:
>>> treasure_hits = {}
>>> player = (0,0)
>>> try:
... treasure_hits[player] += 1
... except KeyError:
... treasure_hits[player] = 0
...
>>> treasure_hits
{(0, 0): 0}
>>>
>>> try:
... treasure_hits[player] += 1
... except KeyError:
... treasure_hits[player] = 0
...
>>> treasure_hits
{(0, 0): 1}
>>>
制作 treasure_hits 元组而不是列表允许它用作键,因为它是不可变的