如何从地图 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'}
我正在尝试在充满字符串(包括键和值中的符号)的字典 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'}