我有一个创建两个列表的函数。我希望函数以[], []的形式返回这两个列表。
这是密码。这将返回一个类似于这个[[], []]的列表,关闭,但仍然不是我想要的。
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然后我尝试了一种不同的方法。这将返回([], []),这是一个元组。
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如何使函数返回[], []
Python 2.7
发布于 2013-10-14 20:36:52
[], []是一个元组。()在语法上很简单,让我演示一下:
>>> hello = 1,
>>> hello
(1,)
>>> cheese = [1,2,3], [6,7,8]
>>> cheese
([1, 2, 3], [6, 7, 8])如您所见,,是组成元组的。
你可以像这样打开它们:
>>> a, b = [1,2], [3,4]
>>> a
>>> [1,2]
>>> b
>>> [3,4]因此,在你的职能中:
x, y = create_xy_lst(start, length, step, up, down)如果元组中有多个列表,这也是一个巧妙的技巧(如果您使用Python 3):
>>> a, *b = [2], [4,5,6], [10]
>>> a
>>> [2]
>>> b
>>> ([4,5,6], [10])但是,如果您只想返回一个list,则可以这样做:
return x + y发布于 2013-10-14 20:34:33
[], []是一个元组
>>> [], []
([], [])逗号使值成为元组,而不是括号。
返回x, y是返回多个值的正确方法。
您可以将元组解压缩为多个变量:
x, y = [], []这对于函数返回值也很好:
x, y = create_xy_lst(...)在赋值中解压缩不仅限于元组;它适用于任何序列:
char1, char2, char3 = 'foo'发布于 2013-10-14 20:42:21
def returnNumbers():
return 1, 2
first, second = returnNumbers()
print first, second它会打印出来
1 2您只需返回一个元组并解压缩示例中所示的值。
您甚至可以检查函数返回的数据类型如下
print type(returnNumbers())它会打印出来
<type 'tuple'>https://stackoverflow.com/questions/19368789
复制相似问题