如何有效地在新行上打印列表中的项目?

How to print items from a list on new lines efficiently?

所以我得到了以下示例代码:

def example(x):
    list = [1,2,3]
    if(insert_thing):
      print(1,2,3 on new lines)

我想做的是,如果发生某种情况,我的列表的内容将换行打印。所以这个的输出将是: 1 2 3

我希望针对多个 if 语句执行此操作(根据 if 语句使用多个列表;即

list1 = [0,1,2] list2= [4,6,7]
if(condition):
   print(list1[0])
   print(list1[1])
   print(list1[2])
elif(condition):
   print(list2[0])....

等等。我将如何将新行上的内容打印简化为更少的行?我应该创建一个新功能吗(如果是,我应该使用哪种方法?)?

我正在绞尽脑汁想出一个解决办法,但我真的很困惑;因此,为什么我转而询问其他人他们的想法。感谢您的帮助!

如果效率是您想要的,您可以通过用换行符分隔每个项目来加入列表:

list1 = [0,1,2] 
list2= [4,6,7]
if(condition):
   print("\n".join(list(map(str,list1))))

或者使用 Python3 中的打印函数执行此操作:

print(*list1, sep="\n") 

编写一个循环打印列表元素的函数:

def printlist(l):
    for item in l:
        print(item)

if condition1:
    printlist(list1)
elif condition2:
    printlist(list2)
my_list = [1,2,3]
if ("condition for print each element in new line"):
    for x in my_list:
        print x
if ("condition for print each element in one line"):
    print " ".join([str(x) for x in my_list])

我希望你只想这样做。

您可以使用循环来打印列表的元素。

list1 = [1,2,3]

if (condition):
    for i in list1:
        print(i)