Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.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
使用for向python中的词汇表添加key:value项_Python_Dictionary_For Loop - Fatal编程技术网

使用for向python中的词汇表添加key:value项

使用for向python中的词汇表添加key:value项,python,dictionary,for-loop,Python,Dictionary,For Loop,嗨,我有这个功能: def company_runtime(company_name): for well in all_wells: well_runtime = {} if well["groupName"].lower() == company_name.lower(): well_runtime.update({well["name"]: well["efficiency"]})

嗨,我有这个功能:

     def company_runtime(company_name):
        for well in all_wells:
            well_runtime = {}
            if well["groupName"].lower() == company_name.lower():
                well_runtime.update({well["name"]: well["efficiency"]})
            return well_runtime
如果我输入一个公司名称作为参数,我想从循环中得到一个包含“名称”和“效率”的字典

我只得到满足该条件的所有油井列表的最后一个元素

我做错了什么


提前感谢

每次通过循环时,您都会将字典重置为
{}
或空,因此它会将其清除,直到最后一次退出。将
well\u runtime={}
移出循环。

每次通过循环时,都会将字典重置为
{}
或为空,因此它会将其清除,直到最后一次退出。将
well\u runtime={}
移动到循环之外。

答案解决了您的问题,但您也应该使用
well\u runtime[well[“name”]]=well[“efficiency”]
而不是使用
well\u runtime.update(…)
而且返回的位置不在应该的位置,返回应该在for之外,因为这将导致它只返回第一个并退出函数谢谢!将变量移到循环外并移动返回值确实解决了问题,但您也应该只使用
well\u运行时[well[“name”]]=well[“efficiency”]
而不是使用
well\u运行时。更新(…)
而且返回值不是应该的位置,返回值应该在for之外,因为这将导致它只返回第一个并退出函数谢谢!将变量移出循环并移动返回值就可以了