字典python中的问题

时间:2010-07-18 08:00:58

标签: python dictionary

我创建了一个字典,然后将值和键拆分成列表,现在它看起来像这样:

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'

2 个答案:

答案 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


Read about dictionaries in the Python documentation