有没有办法将其压缩为字典理解?

时间:2020-11-03 15:29:44

标签: python dictionary dictionary-comprehension

我正在尝试将其精简化,但是在遍历列表时尝试在理解中实现正则表达式会陷入困境。

acl_lines = some_list
hash_dict = {}
for line in acl_lines:
    search = re.search(hash_regex, line)
    if search:
        hash_dict[search.group(2)] = search.group(1)

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

hash_dict = {
    s.group(2): s.group(1) 
    for s in (re.search(hash_regex, line) for line in acl_lines) if s
}

为了不再次调用search,请插入一个额外的生成器表达式。