有效地重命名字典中的键

2024-09-26 22:51:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一本
{0: -1.0, 21: 2.23, 7: 7.1, 46: -12.0}形式的字典

如何将其转换为
{'p0': -1.0, 'p21': 2.23, 'p7': 7.1, 'p46': -12.0}

有效地,即:

没有for循环和类似dict[key[i]] = dict.pop("p"+str(key[i]))的东西


Tags: keyfor字典popdict形式strp0
2条回答

您可以使用字典理解:

d = {0: -1.0, 21: 2.23, 7: 7.1, 46: -12.0}

d = {f"p{k}":v for k,v in d.items()}

print(d)

输出:

{'p0': -1.0, 'p21': 2.23, 'p7': 7.1, 'p46': -12.0}



注意这也会起作用:

d = {f"p{k}":d[k] for k in d}

问题中提到的项目分配和pop表明您希望修改现有词典。不幸的是,您只能使用可用的方法,并且没有方法重命名密钥。另一个选项是完全清除字典,并从包含修改键的完整新字典中update,而不是重复进行项赋值和pop。例如:

d1 = d.copy()
d.clear()
d.update({"p" + str(k): v for k, v in d1.items()})

相关问题 更多 >

    热门问题