从键值对中获取列表值

3 投票
2 回答
20574 浏览
提问于 2025-04-17 02:32

如果我有一个包含键值对的列表,我该如何获取某个键对应的值呢?

我正在使用这段代码:

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

撰写回答