从键值对中获取列表值
如果我有一个包含键值对的列表,我该如何获取某个键对应的值呢?
我正在使用这段代码:
>>> items = {'fees':[('status','pending'), ('timeout',60)], 'hostel':[('status',
'pending'), ('timeout','120')]}
>>> print [items[i] for i in items.keys()]
[[('status', 'pending'), ('timeout', '120')], [('status', 'pending'), ('timeout'
, 60)]]
>>>
我期待得到这个结果:
# get timeout. I know this line is wrong
timeout = items.get(i)
# Put the transaction item in a queue at a specific timeout
# period
transaction_queue(i, block, timeout)
def transaction_queue(item, block=False, timeout):
return queue.put(item, block, timeout)
谢谢你的帮助。
在我写这段话的时候,我还不能回答,得等7个小时。
所以,答案是:
>>> for key, value in items.iteritems():
... for val in value:
... print "\t{0} : {1}".format(val[0], val[1])
...
status : pending
timeout : 120
status : pending
timeout : 60
>>>
感谢Vincent Vande Vyvre
2 个回答
0
你已经在“print”语句中打印了值,所以我猜你只是想打印出键的名称。
下面这个修改过的打印语句会打印出键的名称:
print [i for i in items.keys()]
2
我不太确定我完全理解你的问题,不过简单的解决办法可能是:
>>> dict(items['fees'])['status']
'pending'