如何使用循环为字典中的每个值添加前缀?

时间:2014-11-23 14:38:22

标签: python for-loop dictionary prefix

我收到了以下字典:

phonebook = {'Tom': '0545345345367',
             'John': '0764345323434',
             'Sandy': '0235452342465',
             'Ewan': '0656875345234',
             'Andy': '0673423123454',
             'Rebecca': '0656875345234',
             'Vicky': '0456740034344',
             'Gary': '0656875345234'}

问题是要求我使用for循环在每个电话号码前添加前缀'0044-'。我试图研究它,但我发现的一切似乎都太复杂了,不适合这样的问题。

2 个答案:

答案 0 :(得分:6)

phonebook = {k: '0044-'+v for k,v in phonebook.items()}

答案 1 :(得分:1)

for k in phonebook:
    phonebook[k] = '0044-' + phonebook[k]

我不喜欢“迭代中的突变”方法。

但在这种特殊情况下,它是安全的(没有插入或删除密钥)。如果您想永远保持安全,请重复phonebook.keys()