首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python函数返回2个列表

Python函数返回2个列表
EN

Stack Overflow用户
提问于 2013-10-14 20:32:26
回答 5查看 2K关注 0票数 1

我有一个创建两个列表的函数。我希望函数以[], []的形式返回这两个列表。

这是密码。这将返回一个类似于这个[[], []]的列表,关闭,但仍然不是我想要的。

代码语言:javascript
复制
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

然后我尝试了一种不同的方法。这将返回([], []),这是一个元组。

代码语言:javascript
复制
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

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-10-14 20:36:52

[], []是一个元组。()在语法上很简单,让我演示一下:

代码语言:javascript
复制
>>> hello = 1,
>>> hello
(1,)
>>> cheese = [1,2,3], [6,7,8]
>>> cheese
([1, 2, 3], [6, 7, 8])

如您所见,,是组成元组的。

你可以像这样打开它们:

代码语言:javascript
复制
>>> a, b = [1,2], [3,4]
>>> a
>>> [1,2]
>>> b
>>> [3,4]

因此,在你的职能中:

代码语言:javascript
复制
x, y = create_xy_lst(start, length, step, up, down)

如果元组中有多个列表,这也是一个巧妙的技巧(如果您使用Python 3):

代码语言:javascript
复制
>>> a, *b = [2], [4,5,6], [10]
>>> a
>>> [2]
>>> b
>>> ([4,5,6], [10])

但是,如果您只想返回一个list,则可以这样做:

代码语言:javascript
复制
return x + y
票数 3
EN

Stack Overflow用户

发布于 2013-10-14 20:34:33

[], []是一个元组

代码语言:javascript
复制
>>> [], []
([], [])

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

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

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

代码语言:javascript
复制
x, y = [], []

这对于函数返回值也很好:

代码语言:javascript
复制
x, y = create_xy_lst(...)

在赋值中解压缩不仅限于元组;它适用于任何序列:

代码语言:javascript
复制
char1, char2, char3 = 'foo'
票数 7
EN

Stack Overflow用户

发布于 2013-10-14 20:42:21

代码语言:javascript
复制
def returnNumbers():
    return 1, 2

first, second = returnNumbers()
print first, second

它会打印出来

代码语言:javascript
复制
1 2

您只需返回一个元组并解压缩示例中所示的值。

您甚至可以检查函数返回的数据类型如下

代码语言:javascript
复制
print type(returnNumbers())

它会打印出来

代码语言:javascript
复制
<type 'tuple'>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19368789

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档