使用for为python中的dictionay添加键:值项

Mig*_*vez 0 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"]})
            return well_runtime
Run Code Online (Sandbox Code Playgroud)

如果我输入一个compay名称作为参数,我想从循环中获得一个带有"名称"和"效率"的字典.

我只获得满足该条件的all_wells列表的最后一个元素.

我做错了什么?

提前致谢

Zac*_*arr 5

每次进行循环时,您都将字典重置为{}或清空,因此它会将其清除,直到最后一次退出.移动well_runtime = {}到循环外面.