如何从地图 class 创建字典?

How to create dictionary from map class?

我正在尝试在充满字符串(包括键和值中的符号)的字典 my_dict 中引入转义字符。

我知道我可以使用:

import re
map(re.escape, my_dict))

但是我该如何重构字典呢?

这样做:

dict(map(re.escape, my_dict)

报错:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: dictionary update sequence element #0 has length 7; 2 is required

是否有正确的方法将 map() class 重新放入字典?

我认为问题出在 map(re.escape, my_dict)),您只向键添加了转义字符。

示例:

my_dict = {'hoho.ho':'merry.christmas'}
for i in map(re.escape, my_dict):
    print(i)

输出:

hoho\.ho

您需要将其与值一起压缩以创建字典。试试这个:

new_dict = dict(zip(map(re.escape, my_dict), map(re.escape, my_dict.values())))

输出:

>>> print(new_dict)
{'hoho\.ho': 'merry\.christmas'}