社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

列表的返回函数在python中不显示在屏幕上

Ishk • 5 年前 • 1362 次点击  

return函数工作得很好,但不知怎么的,return list没有显示在屏幕上。

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])
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/43010
 
1362 次点击  
文章 [ 3 ]  |  最新文章 5 年前
paxdiablo
Reply   •   1 楼
paxdiablo    5 年前

如果你执行 test([1,2,3]) 在一个 REPL (读取eval打印循环,例如交互模式下的python (a) ,其中的“打印”部分将为您打印结果:

>>> 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
Ishan Joshi
Reply   •   2 楼
Ishan Joshi    5 年前

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

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

print(test([1, 2, 3]))
Derek Eden
Reply   •   3 楼
Derek Eden    5 年前

将返回改为:

return print(ls)

或者在调用函数时打印:

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

或者将其分配给一个var并在以下时间之后打印:

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