我创建了一个字典,然后将值和键拆分成列表,现在它看起来像这样:
keys = [(4,5),(5,6),(4,8)......so on].
values = [('west',1),('south',1).......]
然后我就这样制作了一本新词典,
final = dict((k,v[0]) for k,v in zip(keys, values))
当我执行-print final时 - 输出采用这种形式...... {(4,5):west,(5,6):south,......so on}
现在我需要key(4,5)的值...它可以是任何键..
q:2
win = gap.pop() - here gap is a stack
print win - the output is (1,1)
return final.get(win) -
但是当我这样做返回时,它给了我一个错误,最后是我用键和值列表做的目录
错误是:'W'
答案 0 :(得分:2)
适合我:
>>> keys=[(4,5),(5,6)]
>>> values = ["west","south"]
>>> f=dict(zip(keys,values))
>>> f
{(4, 5): 'west', (5, 6): 'south'}
>>> f[(4,5)]
'west'
答案 1 :(得分:2)
适合我:
>>> final = {(4,5):"West", (5,6): "East"}
>>> print final
{(4, 5): 'West', (5, 6): 'East'}
>>> final[(4,5)]
'West'
您可能想尝试final.get((4,5))
。
或者发布更多代码,也许你会对final
做些喜欢的事情。如果您没有获得值,则至少应该获得KeyError
:
>>> final[(7,8)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: (7, 8)
在这种情况下,您必须处理异常:
try:
final[(7,8)]
except KeyError:
print "Key not in dict."
或使用final.get((7,8), <default value>)
如果未找到密钥将返回<default value>
(如果未指定默认值,则返回None
。