我已經定義了一個名爲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分鐘等等。 –