2017-03-18 47 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的回答。不管怎麼說,多謝拉。 –