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

python中如何同时解析两个dict键,python,dictionary,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"} 所以基本上我在寻找一种键2和它对应的时间之间的and运算 我尝试了以下方法 look = ["key2", "Time"] for key, val in my_dict.it

我有一个巨大的系统日志文件,其中有一个在特定时间打印系统数据的dict, 比如说:

{"key1":"val1", "Time":"mon dec 25 12:12:12 2012"}
{"key2":"val2", "key3": "val3", "Time":"mon dec 25 12:12:13 2012"}
所以基本上我在寻找一种键2和它对应的时间之间的and运算

我尝试了以下方法

look = ["key2", "Time"]

for key, val in my_dict.items():
     if key in look:
         print my_dict[key]
但这也会打印出dict1中与key1相对应的时间戳


那么,我如何才能在相应的时间查找键2及其值2呢?

首先检查是否找到了键,然后将键与“时间”一起打印出来


让我们假设,因为我还不完全清楚,lat you log是一个目录:

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

这就是您需要的吗?

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

如果是这样,我认为您需要在打印任何内容之前使用
all
测试所有请求的密钥是否都存在

requred_keys = ['key2', 'Time']

for my_dict in sequence_of_dicts:
    if all(key in my_dict for key in required_keys):
        for key in required_keys:
            print my_dict[key]

我真的不明白你对你想要得到什么结果的解释。您能举一个您想要的输出的例子吗?您有一个或多个dict?对不起,解释得太糟糕了。我有多个口述。但看起来我的回答是正确的。
requred_keys = ['key2', 'Time']

for my_dict in sequence_of_dicts:
    if all(key in my_dict for key in required_keys):
        for key in required_keys:
            print my_dict[key]