分享
三行代码  ›  专栏  ›  技术社区  ›  Ishk

列表的返回函数在python中不显示在屏幕上 - return function of list isn't displaying on the screen in python

  •  0
  • Ishk  · 技术社区  · 4 周前

    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])
    
    3 回复  |  直到 4 周前
        1
  •  0
  •   Derek Eden    4 周前

    将返回改为:

    return print(ls)
    

    或者在调用函数时打印:

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

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

    answer = test([1,2,3])
    print(answer)
    
        2
  •  0
  •   Ishan Joshi    4 周前

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

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

    print(test([1, 2, 3]))
    
        3
  •  0
  •   paxdiablo    4 周前

    如果你执行 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