Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法在python中修改dict的元素_Python_Loops_Dictionary - Fatal编程技术网

无法在python中修改dict的元素

无法在python中修改dict的元素,python,loops,dictionary,Python,Loops,Dictionary,我定义了一个名为modify的函数,它修改给定的字符串。我有一个名为elements的dict,其中存储了一些字符串。但是,我无法修改dict中存储的字符串 x = "abc" x = modify(x) 这是可行的,但当我这样做 for element in elements: element = modify(element) 这是行不通的。知道为什么吗?我对python相当陌生。您不能在迭代dict元素时修改它们 您需要使用如下内容: for key in elements:

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

x = "abc"
x = modify(x)
这是可行的,但当我这样做

for element in elements:
    element = modify(element)

这是行不通的。知道为什么吗?我对python相当陌生。

您不能在迭代dict元素时修改它们

您需要使用如下内容:

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

您不能在遍历dict的元素时对其进行修改

您需要使用如下内容:

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

如果需要对字典的每个成员应用一个函数,请考虑使用DICT理解:

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

如果使用Python 2.7,则使用<>代码>元素.ItItIsMeSe()/Cyto>而不是<代码>元素.ITMs()>

< P>如果需要对字典的每个成员应用函数,请考虑使用DICT理解:

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

如果您使用的是python 2.7,请使用
elements.iteritems()
而不是
elements.items()

这对我来说有点复杂。因为我只是个初学者。我同意萨提亚的回答。无论如何,谢谢。这对我来说有点复杂。因为我只是个初学者。我同意萨提亚的回答。无论如何,谢谢。@JohnSmith:在这个网站上,通过投票选出所有有用的答案来表达你的感激之情。您可以通过单击答案左上角的向上箭头来完成此操作。此外,单击答案左上角附近的复选标记,接受最佳答案(如果它确实回答了您的问题)。这比在评论中说谢谢要好。这也有助于其他人看到你的问题得到了回答。接受答案有时间限制。我的代表不允许我投票。我试着点击答案。但是它让我等x分钟等等。@JohnSmith:在这个网站上,通过投票选出所有有用的答案来表达你的感激之情。您可以通过单击答案左上角的向上箭头来完成此操作。此外,单击答案左上角附近的复选标记,接受最佳答案(如果它确实回答了您的问题)。这比在评论中说谢谢要好。这也有助于其他人看到你的问题得到了回答。接受答案有时间限制。我的代表不允许我投票。我试着点击答案。但它让我等x分钟等等。