尝试使用以下代码更改我的词典键名称:
for key in my_dict_other:
new_key = key + '/' + str(my_dict[key])
# new_key = key + '/' + str(my_dict[key][0][0]) + '-' + str(my_dict[key][0][1])
my_dict_other[new_key] = my_dict_other.pop(key)
然而其中一个关键点就是"9-9/[['2550', '1651']]/[]"
而不是"9-9/[['2550', '1651']]"
,我该如何修复它?理想情况下调整我的代码让它们像"9-9/2550-1651"
那样出来目的我尝试了这个new_key = key + '/' + str(my_dict[key][0][0]) + '-' + str(my_dict[key][0][1])
,但我在某个时候得到了列表超出范围。
修改:如何创建一个可以删除'/[]'
所有匹配项的正则表达式,例如39-10/[['5400', '3601']]/[]/[]
的输出应为39-10/[['5400', '3601']]
答案 0 :(得分:0)
这可能有效:
import re
key = "9-9/[['2550', '1651']]/[]"
newkey = re.sub("[\[\]']", "", key.replace("/[]", ""))
# '9-9/2550, 1651'
答案 1 :(得分:0)
如果我正确理解您的示例,您可以使用字典理解而不是正则表达式:
my_dict = {k.replace("/[]", ""): v for k, v in my_dict.items()}