【发布时间】:2020-01-22 16:19:23
【问题描述】:
我有一个创建多个列表的函数,我想将它们返回到与函数中使用的名称相同的代码主体。
以下示例返回一个串联列表,然后通过对串联列表进行切片来重新创建各个列表(与函数中使用的名称相同)。
def my_function():
# Some code which generates multiple lists
my_list_1 = [1, 2, 3]
my_list_2 = ['a', 'b', 'c']
return [my_list_1, my_list_2]
temp = my_function()
my_list_1 = temp[0]
my_list_2 = temp[1]
print (my_list_1)
print (my_list_2)
这种方法看起来很“笨拙”(完整的函数会创建大约 30 个列表),但我还没有找到更有效的方法。有吗?
自学python,这是我的第一篇文章,所以请放轻松:)。谢谢
【问题讨论】:
-
你为什么需要他们作为
my_list1 = temp[0]; my_list2 = temp[1]?在那之后你打算用my_list1、my_list2做什么?这里的大局是什么? -
如果一个函数返回一个包含 30 个列表的列表,那么您是否需要将这 30 个子列表存储到另外 30 个列表变量中?
-
return my_list1, my _list2并将其称为my_list_1, my_list_2 = my_function() -
han solo - 列表中的数据将受制于各种其他功能等。我想保留它们的原始名称,因为它们对其中的内容具有高度描述性,以帮助我跟踪它们在其余代码。
-
对象没有名字。变量有名字,但你不能传递变量。列表是对象;他们从来没有名字,你不能让 Python 自动将名字与列表一起带入。