You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从AD事件字典中筛选匹配指定事件ID列表的键值对?

AD事件ID筛选解决方案

问题分析

你当前的代码逻辑错误在于:每次检测到目标ID存在时,直接输出整个字典的所有键值对,而非筛选出匹配的条目;同时e in event_code_list属于冗余判断(e本身就是从该列表遍历而来)。

正确实现方法

方法1:字典推导式(最简洁)

利用Python字典推导式快速筛选符合条件的键值对:

event_code_list = ['4662','4738','4763','4733','4730','4737','4753','4670','4754','4750']

events_and_ids = {'logged-in': '4624', 
                 'Directory Service Access': '4662', 
                 'permissions-changed': '4670', 
                 'created-process': '4688', 
                 'logged-out': '4634', 
                 'exited-process': '4689', 
                 'user-member-enumerated': '4799',
                 'Directory Service Access': '4662'}

# 筛选值在目标ID列表中的条目
filtered_events = {k: v for k, v in events_and_ids.items() if v in event_code_list}
print(filtered_events)

执行后输出:

{'Directory Service Access': '4662', 'permissions-changed': '4670'}

方法2:循环构建新字典(适合新手理解)

通过遍历原字典,手动将符合条件的条目添加到新字典:

filtered_events = {}
for key, value in events_and_ids.items():
    if value in event_code_list:
        filtered_events[key] = value
print(filtered_events)

此方法输出结果与方法1完全一致。

注意:原字典中存在重复键Directory Service Access,Python会自动保留最后一个重复键的条目(由于两个条目值相同,最终结果不受影响)。

内容的提问来源于stack exchange,提问作者Robin Sage

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 17:06:50