从键/值对获取列表值

时间:2011-09-18 09:43:30

标签: python

如果我有一个带键/值对的列表,我该如何获得该键的值?

我正在使用此代码段:

>>> 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)

感谢您提供帮助。

直到写作时我才能回答。

所以答案是:

>>> 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 :(得分:2)

我不确定我完全理解你的问题,但简单的解决方案可能是:

>>> dict(items['fees'])['status']
'pending'

答案 1 :(得分:0)

您已经在“print”语句中打印了值,因此我假设您只想打印键的名称

对print语句的这种修改将打印键名:

print [i for i in items.keys()]