Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从字典中的所有值中减去1_Python_Python 3.x_Dictionary - Fatal编程技术网

Python 从字典中的所有值中减去1

Python 从字典中的所有值中减去1,python,python-3.x,dictionary,Python,Python 3.x,Dictionary,我有一本字典如下: dict = {'hi':1, 'hi2':2, 'lskdjf':3} 这种情况持续了超过一百万个值 我想将其转换为一个值从0开始的字典 例如,这是所需的输出: dict = {'hi':0, 'hi2':1, 'lskdjf':2} 如何有效地完成此操作?您可以迭代字典以更新它 for k in dict_: dict_[k] -= 1 。。。或者创建一个具有词典理解功能的新词典 new_dict = {k: v - 1 for k, v in dict_.

我有一本字典如下:

dict = {'hi':1, 'hi2':2, 'lskdjf':3}
这种情况持续了超过一百万个值

我想将其转换为一个值从0开始的字典

例如,这是所需的输出:

dict = {'hi':0, 'hi2':1, 'lskdjf':2}

如何有效地完成此操作?

您可以迭代字典以更新它

for k in dict_:
    dict_[k] -= 1
。。。或者创建一个具有词典理解功能的新词典

new_dict = {k: v - 1 for k, v in dict_.items()}

在这两种情况下,请注意,我用
dict
替换了您的变量名,以避免覆盖内置的
dict
名称。

{k:v-1代表k,v在my_dict.items()}
中,首先更新生成dict的代码是一个选项吗?或者以后使用字典时可以只减去1吗?这样更有效(而且可能更清楚)迭代字典项,即dict_项中k、v的
:dict_[k]=v-1