【问题标题】:Can we get these lists in new line using return function?我们可以使用返回函数在新行中获取这些列表吗?
【发布时间】:2020-11-03 15:20:36
【问题描述】:

我是 Python 新手,所以这个问题可能看起来很傻。

我想在新行中打印(使用返回函数)每个列表,如果语句为真,则将字符串添加到列表中的一项:

row1=[1,2,3]
row2=[4,5,6]
row3=[7,8,9]

def return_func():
    a=1
    if a==1:
      return row1[0]+'b',row1[1],row1[2]
      return row2
      return row3

这不起作用,如果有任何有效的方法,您可以在此处发布。谢谢

【问题讨论】:

  • One of the item 您要添加到哪个列表?会一直是第 1 行吗?
  • return 不用于打印。您需要使用print 进行打印。 return 将始终结束函数执行并将控制权返回给调用者。此外,术语注释return 不是函数。这是一个声明
  • 好的,我不知道谢谢

标签: python python-3.x list return


【解决方案1】:

我认为你需要的是这样的:

row1=[1,2,3]
row2=[4,5,6]
row3=[7,8,9]

def return_func(row):
    a = 1
    if a == 1:
        row.insert(0, "b")
        return row
        
for row in [row1, row2, row3]:
    print(return_func(row))

这样你调用 return_func 三次,每次调用每一行 [row1, row2, row3],正如你在 for 循环 for row in [row1, row2, row3]: 中看到的那样。 现在您只需要打印它的返回值,它将打印三行,在这种情况下,总是在所有行的位置 0 添加一个“b”,因为在所有情况下都满足 if 条件。 输出:

['b', 1, 2, 3]
['b', 4, 5, 6]
['b', 7, 8, 9]

【讨论】:

    【解决方案2】:

    这段代码有很多问题。

    首先,你只能在函数执行过程中返回某个时间点,之后函数就结束了。

    如果你想返回多个列表,你必须:

    def return_lists():
        return [1, 2, 3], [4, 5, 6], [7, 8, 9]
    
    lst_1, lst_2, lst_3 = return_lsts()
    

    如果你想打印东西,你必须使用print() 命令,而不是returnreturn 完成函数并将结果发送回调用它的位置。

    其次,你不能添加一个整数和一个字符串,如果你想在列表的第一个索引中添加一个字符串,你应该这样做:

    lst_1 = [1, 2, 3]
    lst_1[0] = str(lst_1[0]) + 'b'
    

    最后,您不应该使用全局变量。您应该在调用函数时发送列表:

    def return_lists(lst_1, lst_2, lst_3):
        return lst_1, lst_2, lst_3
    
    lst_1, lst_2, lst_3 = return_lists([1, 2, 3], [4, 5, 6], [7, 8, 9])
    

    把所有东西放在一起:

    def return_func(row1, row2, row3):
        a=1
        if a==1:
          row1[0] = str(row1[0]) + 'b'
        return row1, row2, row3
    
    row1=[1,2,3]
    row2=[4,5,6]
    row3=[7,8,9]
    
    row1_new, row2_new, row3_new = return_func(row1, row2, row3)
    print(row1_new)
    print(row2_new)
    print(row3_new)
    

    【讨论】:

    • 不,我希望它们在新行中,而不是在同一行中
    • @AshPro-grammar 这没有任何意义。 “换行”是什么意思?你在说什么线?
    • @AshPro-grammar 您可以将它们放在新行中。但不是return。您想使用return 的任何具体原因?
    • 我的意思是,我需要在新行中的每个列表(输出)
    • @DineshKumar ,我正在准备井字棋盘,所以我需要返回函数,并且需要将列表中的每一个都放在一个新行中,所以它看起来像一个棋盘。
    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 2011-04-18
    相关资源
    最近更新 更多