返回功能可以正常使用,但是以某种方式未在屏幕上显示返回列表。
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])
答案 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