【发布时间】:2021-09-09 06:21:08
【问题描述】:
(检查下面的更新)
我在从另一个文件导入列表时遇到问题。 我还在学习如何在函数中调用/传递变量。
我有一个和这个例子非常相似的东西,
#file1
list_one = [] #global
list_two = [] #global
def function_list_one():
# code
return list_one
def function_list_two(list_one, list_two):
# code
return list_two
def both_lists(list_one, list_two):
# code
return new_list
# return new_list outputs a JSON list
both_lists(list_one, list_two) # this is used to call it from main
到目前为止,如果我打印这个新列表,它可以在这个文件中使用。它打印我想要的。但是,如果我尝试做接下来的几件事,那么它只会打印一个空列表。最后一次来自 file1 是我使用这些参数调用该函数的主文件。
#file2
from file1 import both_lists, list_one, list_two
new_list = both_lists(list_one, list_two)
new_list2 = list_two
print(new_list)
# outputs = []
prin(new_list2)
#outputs = []
# Expected output should be the results from new_list from file1, which
# would be a JSON type list.
这是没有任何事情发生的地方。如果我尝试这两种方法,它们会返回一个空列表。我知道我对 list_one 和 list_two 都有一个全局变量。我不明白为什么当我在另一个程序中使用相同的方法时它返回一个空列表。基本上,我想在 fil2 中使用“return new_list”来继续程序的其余部分。
更新:
我找到了解决方案。不知何故,当我导入 new_lists 时 file2 它不喜欢它。所以,我只是import both_lists(function_list_one(), function_list_two())
感谢大家的宝贵时间!
【问题讨论】:
-
我认为,您需要提供更多信息。列表是如何填充的,
new_list是如何生成的? -
说“我尝试了其他方法但它没有用”是没有帮助的,因为我们不知道您尝试了什么。向我们展示您尝试过的实际代码,向我们展示您获得的输出,并解释它为什么不是您想要的。
-
我确实展示了我尝试过但不起作用的实际代码。它在file2中
-
“没用”没有帮助。向我们展示该代码做了什么,并解释您想要什么。
-
我添加了更多信息。
标签: python arrays list function