将字典值从int更改为string

时间:2016-09-28 11:02:42

标签: python string python-3.x dictionary int

这就是我的字典。

phoneBook = {"Skywalker": 55511243, "Solo": 55568711, "Vader": 55590858}

我需要将每个语音更改为字符串,并在其前面添加"+1-"。但是,我不知道该怎么做。

2 个答案:

答案 0 :(得分:2)

简单的词典理解:

r = {k: "+1-{}".format(v) for k,v in phoneBook.items()}

"+1-{}".format(v)转换为字符串并在其前面加+1-。同样,您可以使用"+1-" + str(v),如其他答案中所述,但我个人发现它不太可读。

print(r)
{'Skywalker': '+1-55511243', 'Solo': '+1-55568711', 'Vader': '+1-55590858'}

或者,如果你想就地,即不像理解那样创建一个新词典,那么迭代 over * 并更新值:

for k in phoneBook:
    phoneBook[k] = "+1-{}".format(phoneBook[k])

*仅对键进行迭代非常重要,如果迭代键和值,您会得到奇怪的行为,因为您将改变迭代的视图。

答案 1 :(得分:1)

使用词典理解

{k:'+1-'+str(phoneBook[k]) for k in phoneBook}