我有一个名为signames的python字典,其中包含数千个键值对。
signames = {'A_13342_2674_14_': '13342-2674-14.03-0-2-1', 'A_13342_2675_14_': '13342-2675-14.03-0-2-1', 'A_13342_2676_14_': '13342-2676-14.03-0-2-1'}
我想把character _附加到python字典中所有值的开头,这样最终的字典看起来就像这样:
signames = {'A_13342_2674_14_': '_13342-2674-14.03-0-2-1', 'A_13342_2675_14_': '_13342-2675-14.03-0-2-1', 'A_13342_2676_14_': '_13342-2676-14.03-0-2-1'}
我的代码不会产生错误,但不会更新值:
for key, value in signames.items():
key = str(_) + key
3条答案
按热度按时间vc6uscn91#
您的
key
变量只保存每次迭代的dict的每个键的值,如果您为该键分配一个新值,它只更新该key
变量,而不更新dict。您应该通过在每次分配中引用dict的键来更新dict本身:但是正如@jpp在注解中指出的,迭代
signames.items()
会更符合习惯,因为赋值中的表达式还涉及每个键的值:zkure5ic2#
你可以在这里做经典的dict理解:
ltqd579y3#
这是错误的
key = str(_) + key
,因为signmaes
字典从未更新过。只需将此行更改为signames[key] = '_' + value
。