Python 如何正确更改dict中的密钥名称?
正在尝试使用以下代码更改我的字典密钥名称:Python 如何正确更改dict中的密钥名称?,python,regex,python-3.x,dictionary,Python,Regex,Python 3.x,Dictionary,正在尝试使用以下代码更改我的字典密钥名称: 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) 然而,其中一把钥匙是这样拔出的,而不是这样
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)
然而,其中一把钥匙是这样拔出的,而不是这样拔出的,我如何修复它,并理想地调整我的代码,使它们像这样拔出呢?为此,我尝试了这个new_key=key++'/'+str(我的dict[key][0][0+'])+str str str str str(my_dict[key][0][1])
但我在某个时候得到了超出范围的列表
编辑:我如何制作一个正则表达式来删除所有出现的'/[]'
例如39-10/[[[5400',3601']/[]/[]/[]
的输出应该是39-10/[[5400',3601']]
这可能有效:
import re
key = "9-9/[['2550', '1651']]/[]"
newkey = re.sub("[\[\]']", "", key.replace("/[]", ""))
# '9-9/2550, 1651'
如果我正确理解您的示例,您可以使用字典理解而不是正则表达式:
my_dict = {k.replace("/[]", ""): v for k, v in my_dict.items()}
这听起来像是一个严重的XY分层问题。我不认为使用列表的字符串表示作为字典键的一部分是可行的。你能展示更多你实际想要实现的内容吗?