我已经定义了一个名为modify
的函数,它修改了给定的字符串。我有一个名为elements
的字典,其中存储了一些字符串。但是,我无法修改存储在字典中的字符串。无法修改python中的字典元素
x = "abc"
x = modify(x)
这有效,但是当我这样做;
for element in elements:
element = modify(element)
这是行不通的。任何想法为什么?我对python相当陌生。
我已经定义了一个名为modify
的函数,它修改了给定的字符串。我有一个名为elements
的字典,其中存储了一些字符串。但是,我无法修改存储在字典中的字符串。无法修改python中的字典元素
x = "abc"
x = modify(x)
这有效,但是当我这样做;
for element in elements:
element = modify(element)
这是行不通的。任何想法为什么?我对python相当陌生。
您不能在遍历字典的同时修改字典的元素。
你需要使用这样的事情:
for key in elements:
elements[key] = modify(elements[key])
如果你需要一个功能应用到字典中的每个成员,可以考虑使用字典理解:
elements = {k: modify(v) for k, v in elements.items()}
如果您正在使用Python 2.7使用elements.iteritems()
而不是elements.items()
。
这对我来说有点复杂。因为我只是一个初学者。我会随着Satya的回答。不管怎么说,多谢拉。 –
哇!那很快。万分感谢!它现在有效。 –
@JohnSmith:在这个网站上,通过提供所有有用的答案来表达你的感谢。您可以通过点击答案左上角的向上箭头来实现。另外,通过单击答案左上角附近的复选标记接受最佳答案(如果它实际上回答您的问题)。这比在评论中表示感谢要好。它也可以帮助其他人看到你的问题得到了回答。 –
接受答案有时间限制。我的代表不允许我加入。 我试过点击答案。但它让我等待x分钟等等。 –