有效地重命名字典中的键

Bil*_*Ket 0 python dictionary

我有一本形式为 的字典
{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]))

Ann*_*Zen 6

您可以使用字典理解:

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)
Run Code Online (Sandbox Code Playgroud)

输出:

{'p0': -1.0, 'p21': 2.23, 'p7': 7.1, 'p46': -12.0}
Run Code Online (Sandbox Code Playgroud)


请注意,这也将起作用:

d = {f"p{k}":d[k] for k in d}
Run Code Online (Sandbox Code Playgroud)