Python 如何高效地打印新行列表中的项目?

Python 如何高效地打印新行列表中的项目?,python,string,list,printing,splice,Python,String,List,Printing,Splice,因此,我得到了以下示例代码: 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])

因此,我得到了以下示例代码:

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)

我希望您只想这样做。

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

list1 = [1,2,3]

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

在使用
.join()
之前,您不需要将列表中的元素转换为字符串吗?我忘了提到我的列表已经是字符串格式,顺便说一下,这非常有效。我将记住未来的字符串转换(它只是str(list1)正确吗?)因为这是我很容易错过的。谢谢你们的帮助!这就是我所需要的,这是完美的。谢谢你们所有的答案,从来没有意识到你们可以这样打印列表!很高兴这有帮助。:)
list1 = [1,2,3]

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