0

我有两个模块,主要和更新。

在 main 中,我声明了一个引用字典和每个值的列表。在更新中,我更新了年龄,但我没有看到更新再次反映在主模块中。

main module

candidates = {'goutham': {'Age': 30}, 'teja':{'Age': 27}}

for s in candidates:
    portfolio[s] = [0,0] # some value which i use for other calculations

update module
from main import *

portfolio['goutham'][0] = 32

现在,当我回到 main 并打印投资组合 ['goutham'] 时。它仍然将值显示为 [0,0]

4

1 回答 1

0

{'goutham': [32, 0], 'teja': [0, 0]}例如,当您运行run.py我添加时,这应该可以打印 :

主文件

candidates = {'goutham': {'Age': 30}, 'teja':{'Age': 27}}
portfolio = {candidate:[0, 0] for candidate in candidates.keys()}

更新.py

from main import *
portfolio['goutham'][0] = 32

运行.py

import update
from main import *
print(portfolio)

作为旁注:现在您的模块中有在导入模块时正在执行的模块。如果这是您的主要逻辑,请考虑将其放入某个main()函数中,而不是依赖于导入时的隐式执行。

于 2020-09-08T07:36:36.310 回答