列表的返回功能未在python

时间:2019-09-19 01:50:32

标签: python

返回功能可以正常使用,但是以某种方式未在屏幕上显示返回列表。

def test(lst):
    ls = []
    lst[:] = [ele + 1 for ele in lst] # lst[:] changes the original list

    ls.append(lst)
    return ls

test([1,2,3])

3 个答案:

答案 0 :(得分:0)

在您的代码中,我看到您没有使用print语句。

我认为将其添加到您的代码中可能会解决此问题:

print(test([1, 2, 3]))

答案 1 :(得分:0)

将退货更改为:

return print(ls)

或在调用函数时打印它:

print(test([1, 2, 3]))

或将其分配给var并在之后打印:

answer = test([1,2,3])
print(answer)

答案 2 :(得分:0)

如果您在REPL中执行test([1,2,3])(read-eval-print-loop,例如交互模式下的Python (a)),则“ print”部分其中的一个会为您打印出结果:

>>> def test(lst):
...     ls = []
...     lst[:] = [ele + 1 for ele in lst]
...     ls.append(lst)
...     return ls
... 
>>> test([1,2,3])
[[2, 3, 4]]

但是,在正常情况下不会发生这种情况,对test的调用将评估函数调用,但对结果不执行任何操作。

如果要打印,则需要明确

print(test([1,2,3]))

(a)在这种情况下,Python将打印出不是None的任何结果。您可以通过以下方式看到此行为:

>>> None
>>> 42
42