为什么此功能不能从这些字典键中删除所有句点?

时间:2019-11-30 00:27:18

标签: python python-3.x dictionary

我有一个带有许多key:value对的python字典。其中一些键包含句点.,如下所示:

record = {"a.a":1, "b..b":2, "c......":3, ".d.d.d":4, ".e.e.e.":5}

现在,我想删除此词典中所有键的所有句点。为此,我有以下代码:

for property in record:
    record[property.translate({ord('.'): None})] = record.pop(property)

但是,我最终得到的是:

{'b..b': 2, 'eee': 5, 'aa': 1, 'c': 3, 'ddd': 4}

请注意未更改的b..b

为什么会这样?如果我再次调用相同的代码块,则会删除多余的句点

1 个答案:

答案 0 :(得分:2)

您在这里所做的是在迭代字典时更改字典,这太不好了。

{k.replace('.', ''): v for k, v in record.items()} 会做得很好。