簡體   English   中英

Python:打印/合並 output 到一行

[英]Python: print/combine output to one line

Print new output on the same line類似的問題,它沒有回答我的問題。

我想知道如何(使用 python 2 和 3)將所有內容打印到一行。 例如,通過運行:

print("Result of:\t")

mylist1=[]
mylist2=[]
name = "class_1"

for i in range(-5, 0):
    mylist1.append(i)
for j in range(1, 6):
    mylist2.append(j)
print(name+"\t")
print(mylist1+"\t"+mylist2)

我得到了什么:

Result of:  
class_1
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-100-1e34909da6d3> in <module>
     10     mylist2.append(j)
     11 print(name+"\t")
---> 12 print(mylist1+"\t"+mylist2)
     13 

TypeError: can only concatenate list (not "str") to list

但是,我想要的是將它們打印在用“\t”分隔的一行中:

Result of:    class_1    [-5, -4, -3, -2, -1]    [1, 2, 3, 4, 5]

這種情況通常使用哪種解決方案?

  • 您可以在不使用+的情況下將sep參數用於不同的值。
  • 您還需要將list轉換為str以使用[]打印
mylist1=[]
mylist2=[]
name = "class_1"

for i in range(-5, 0):
    mylist1.append(i)
for j in range(1, 6):
    mylist2.append(j)
print("Result of:", name, str(mylist1), str(mylist2), sep='\t')
mylist1=[]
mylist2=[]
name = "class_1"

for i in range(-5, 0):
    mylist1.append(i)
for j in range(1, 6):
    mylist2.append(j)
print("Result of:", name, str(mylist1), str(mylist2), sep='\t')

對於 python 3.x

print(name, sep="\t")


對於 python 2.x(在 python 2.x 中打印不是 function 而是關鍵字)

在 python 2.x 中仍然實現相同

from __future__ import print_function
print_function(name, sep="\t")

或者

print "\t".join(list[name])

編輯(添加示例):

對於 python 3.x

print("Result of:", name, str(mylist1), str(mylist2), sep='\t')

對於 python 2.x

 print "\t".join([name, str(mylist1), str(mylist2)])
print(list1,"\t",list2)

這給出了所需的 output

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM