gpt4 book ai didi

Python 全局列表未更新

转载 作者:太空宇宙 更新时间:2023-11-03 17:13:55 24 4
gpt4 key购买 nike

我有一个全局列表,它似乎没有更新它声明的文件中的列表。我看到了几个与我的问题类似的问题,我可以用它们来解决我的问题。但我试图理解为什么它在我的情况下不起作用。

HelloWorld.py

import TestFile

store_val = ["10", "20"]

def main():
store_val.append("30")
print store_val
TestFile.list_val()

if __name__ == '__main__':
main()

TestFile.py

import HelloWorld

def list_val():
HelloWorld.store_val.append("40")
print "Store Value : ", HelloWorld.store_val
HelloWorld.store_val.append("60")
print "Updated Value : ", HelloWorld.store_val

我看到的问题是,我能够将值附加到 TestFile.py 中的列表,但似乎无法将值添加到 HelloWorld.py 中的列表,即使它是在那里声明的。纠正此问题的最佳方法是什么,以便我可以附加 HelloWorld.py 中的值

运行HelloWorld的结果

['10', '20', '30']
Store Value : ['10', '20', '40']
Updated Value : ['10', '20', '40', '60']

最佳答案

应该是这样的。在您的情况下,只有 store_val 列表和 main 函数从 TestFile.py 中的 HelloWorld 导入,但 main 函数不在 TestFile.py 中运行

HelloWorld.py

import TestFile

store_val = ["10", "20"]

def main(n=1):
store_val.append("30")
print store_val
if n>0:
TestFile.list_val(n)

if __name__ == '__main__':
main()

测试文件.py导入HelloWorld

def list_val(n):
if (n>=0):
HelloWorld.main(n-1)

HelloWorld.store_val.append("40")
print "Store Value : ", HelloWorld.store_val
HelloWorld.store_val.append("60")
print "Updated Value : ", HelloWorld.store_val

if __name__ == '__main__':
list_val()

运行代码:

python HelloWorld.py
['10', '20', '30']
['10', '20', '30']
Store Value : ['10', '20', '30', '40']
Updated Value : ['10', '20', '30', '40', '60']

关于Python 全局列表未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33824610/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com