将字典值从int改为string

2024-04-28 23:33:54 发布

您现在位置:Python中文网/ 问答频道 /正文

这就是我的字典的样子。在

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

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


Tags: 字符串字典电话号码soloskywalker样子vaderphonebook
2条回答

通过简单的字典理解:

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

其中"+1-{}".format(v)转换为字符串并在其前面加上+1-。类似地,您可以使用"+1-" + str(v),正如在另一个答案中提到的那样,但是我个人觉得它不太可读。在

^{pr2}$

或者,如果您想就地执行,即不象comprehension那样创建新字典,请在键上迭代*并更新值:

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

*只迭代键很重要,如果你同时迭代键和值,你会得到奇怪的行为,因为你会改变你迭代的视图。

使用字典理解

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

相关问题 更多 >