如何在python中同时解析两个dict键

时间:2015-09-22 20:43:58

标签: python dictionary

我有一个庞大的系统日志文件,其中我有一个dict,它在特定时间打印出系统数据, 让我们说:

{"key1":"val1", "Time":"mon dec 25 12:12:12 2012"}
{"key2":"val2", "key3": "val3", "Time":"mon dec 25 12:12:13 2012"}

所以基本上我正在寻找key2和它的相应时间之间的一种操作。

我尝试了以下

look = ["key2", "Time"]

for key, val in my_dict.items():
     if key in look:
         print my_dict[key]

但是这将打印出dict1中的时间戳,这也与key1相对应。

那么,我怎样才能在相应的时间找到key2和它的val2?

3 个答案:

答案 0 :(得分:0)

检查是否先找到钥匙,然后打印钥匙和“时间”

for key, val in my_dict.items():
     if key == "key2":
         print my_dict[key]
         print my_dict['Time']

答案 1 :(得分:0)

我们假设,因为它对我来说并不完全清楚,所以你可以记录日志:

log = [
    {"key1":"val1", "Time":"mon dec 25 12:12:12 2012"},
    {"key2":"val2", "key3": "val3", "Time":"mon dec 25 12:12:13 2012"}
]

for d in log:
    if 'key2' in d:
        print d['Time']

这是你需要的吗?

答案 2 :(得分:0)

如果我正确理解了您的问题,那么您正在阅读一系列词典(从哪里开始并不重要)并想要从中打印出某些值,但前提是两个值的键都存在。在您的示例中,您希望打印第二个字典的val2和时间戳,但您当前的代码也会打印第一个字典中的时间戳,即使它没有{{1密钥。

如果是这样,我认为您需要使用key2来测试所有请求的密钥是否存在,然后再打印任何内容。

all