Python函数返回2个列表

0 python tuples function list python-2.7

我有一个创建两个列表的函数.我希望函数返回两个列表[], [].

这是代码.这将返回一个看起来像这样的列表[[], []],关闭但仍然不是我想要的.

def create_xy_lst(start, length, step, up, down):
    new_list = []
    new_list.append(create_x_lst(start, length, step))
    new_list.append(create_y_lst(start, length, up, down))
    return new_list
Run Code Online (Sandbox Code Playgroud)

然后我尝试了另一种方法.这将返回([], [])一个元组.

def create_xy_lst(start, length, step, up, down):

    x = (create_x_lst(start, length, step))
    y = (create_y_lst(start, length, up, down))
    return x, y
Run Code Online (Sandbox Code Playgroud)

如何让函数返回[], []

Python 2.7

Mar*_*ers 7

[], [] 是一个元组:

>>> [], []
([], [])
Run Code Online (Sandbox Code Playgroud)

逗号使值成为元组,而不是括号.

返回x, y是返回多个值的正确方法.

您可以将元组解压缩为多个变量:

x, y = [], []
Run Code Online (Sandbox Code Playgroud)

这也适用于函数返回值:

x, y = create_xy_lst(...)
Run Code Online (Sandbox Code Playgroud)

在作业中拆包不仅限于元组; 它适用于任何序列:

char1, char2, char3 = 'foo'
Run Code Online (Sandbox Code Playgroud)