【问题标题】:Not able to return list [duplicate]无法返回列表[重复]
【发布时间】:2016-01-15 22:48:36
【问题描述】:

这两种返回列表的方式有什么区别吗?

最初列表是空的。

my_list = []

方法一:

my_list.append(1)
return my_list

方法二

return my_list.append(1)

实际上,第二种方法是为我返回一个空列表。请澄清为什么会这样

【问题讨论】:

  • 因为.append() 没有返回任何东西。
  • .append() 不会返回列表,它只会像a[len(a):] = [x] 那样将新元素添加到列表中。正如this Python 教程所说:此方法不返回任何值,但会更新现有列表。

标签: python function return


【解决方案1】:

当您键入以下内容时:

return my_list

您正在返回一个列表对象。当您键入以下内容时:

return my_list.append(something)

您正在返回该方法调用的结果。在 .append() 的情况下,该方法是无效的,因此您实际上没有返回任何内容。如果方法 .append() 附加了您传递给它的参数然后返回修改后的列表本身,那么您可以这样做,但事实并非如此。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-11
    • 2018-06-25
    • 1970-01-01
    • 2017-03-04
    • 2016-05-24
    • 2011-07-05
    • 2015-10-04
    • 2019-06-01
    相关资源
    最近更新 更多