首页 > 解决方案 > 如何使用递归垂直打印列表?

问题描述

我想以递归方式垂直打印此列表:示例:

print_list(['hi', [22,45], 'dog', 21])

预期的:

hi
[22, 45]
dog
21

这是我的代码:

def print_list(n_list):
    if len(n_list) == 0:
            return
    else:
        half = len(n_list) // 2
        for i in range(half):
            if half == 2:
                print (n_list[i], sep = "\n")
        else:
            print (n_list[half+i])

这是我得到的:

hi
[22, 45]
dog

我不确定为什么列表没有完整打印。对于具有更多项目的列表也会发生这种情况,仅显示一部分。我知道我在打印语句中弄乱了一些东西,但无法弄清楚......

标签: pythonpython-3.xrecursionreduction

解决方案


n_list = ['hi', [22,45], 'dog', 21]
print(*n_list, sep='\n')

hi
[22, 45]
dog
21

推荐阅读