2017-03-18 56 views
1

我已经定义了一个名为modify的函数,它修改了给定的字符串。我有一个名为elements的字典,其中存储了一些字符串。但是,我无法修改存储在字典中的字符串。无法修改python中的字典元素

x = "abc" 
x = modify(x) 

这有效,但是当我这样做;

for element in elements: 
    element = modify(element) 

这是行不通的。任何想法为什么?我对python相当陌生。

回答

0

您不能在遍历字典的同时修改字典的元素。

你需要使用这样的事情:

for key in elements: 
    elements[key] = modify(elements[key]) 
+0

哇!那很快。万分感谢!它现在有效。 –

+0

@JohnSmith:在这个网站上,通过提供所有有用的答案来表达你的感谢。您可以通过点击答案左上角的向上箭头来实现。另外,通过单击答案左上角附近的复选标记接受最佳答案(如果它实际上回答您的问题)。这比在评论中表示感谢要好。它也可以帮助其他人看到你的问题得到了回答。 –

+0

接受答案有时间限制。我的代表不允许我加入。 我试过点击答案。但它让我等待x分钟等等。 –

0

如果你需要一个功能应用到字典中的每个成员,可以考虑使用字典理解:

elements = {k: modify(v) for k, v in elements.items()} 

如果您正在使用Python 2.7使用elements.iteritems()而不是elements.items()

+0

这对我来说有点复杂。因为我只是一个初学者。我会随着Satya的回答。不管怎么说,多谢拉。 –