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

时间:2017-03-25 07:58:25

标签: 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])
   print(list1[1])
   print(list1[2])
elif(condition):
   print(list2[0])....

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

我正在绞尽脑汁想出一个解决方案而且我很好并且真正难倒;因此,为什么我转向向其他人询问他们的想法。谢谢你的帮助!

4 个答案:

答案 0 :(得分:0)

如果效率是您想要的,您可以通过将列表与分隔每个项目的换行符连接来实现:

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

或者使用Python3中的打印功能执行此操作:

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

答案 1 :(得分:0)

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

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

if condition1:
    printlist(list1)
elif condition2:
    printlist(list2)

答案 2 :(得分:0)

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])

我希望你只想这样做。

答案 3 :(得分:0)

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

<select2 v-model="sample"></select2>
data : { sample : 0}