有没有一种简单而优美的方法可以就地修改Python字典中的所有键?
for key in my_dict.keys():
my_dict[my_modification(key)] = my_dict.pop(key)
只要
my_modification(key)
不与my_dict
中的原始键相同,这个方法就可以正常运行。否则,我会遇到问题。在我的问题中,所有的键都是整数-100 < key < 100
,修改只是全局移位,使最小的键变为零。有没有一种简单而优美的方法可以就地修改Python字典中的所有键?
for key in my_dict.keys():
my_dict[my_modification(key)] = my_dict.pop(key)
my_modification(key)
不与my_dict
中的原始键相同,这个方法就可以正常运行。否则,我会遇到问题。在我的问题中,所有的键都是整数-100 < key < 100
,修改只是全局移位,使最小的键变为零。只需创建一个新的字典:
new_dict = {my_mod(key): my_dict[key] for key in my_dict}
my_dict.clear()
和my_dict.update(new_dict)
,你就得到了OP所要求的内容。 - Robᵩmy_dict = {my_mod(key) : my_dict[key] for key in my_dict}
”来完成,但我认为可能有更好的方法。 - Christianmy_modified_dict = \
{my_modification(key) : value for (key, value) in my_dict.iteritems()}
new_dict = {my_modification(key): val for key, val in my_dict.items()}
这样的方法呢? - jonrsharpe