改变印刷声明

时间:2013-12-07 21:23:05

标签: python list printing

我无法找到正确的输出。让我们说我有两个列表,列表A和列表B.

list A = [1,2,3]
list B = [2,3,4]

我想打印出如下声明..

Solution A : 1 2 3
Solution B : 2 3 4

到目前为止,我所做的是......

    A = config.mList
    B = config.sList
    return 'Solution A: %s \nSolution B: %s' %(A, B) 

这只是打印出

Solution A: ['17', '4', '8', '11'] 
Solution B: ['9', '18', '13']

4 个答案:

答案 0 :(得分:3)

在Python 2.x中:

print 'Solution A:', ' '.join(A)

在Python 3.x中:

print('Solution A:', *A)

请注意,Python 3.x中的print函数会自动调用它提供的对象上的str。因此' '.join要求对象已经是字符串,所以要确保使用:

print ' '.join([str(el) for el in A])

或者:

print ' '.join(map(str, A))

答案 1 :(得分:2)

您可以使用str.joinstr.format

>>> A = ['1','2','3']
>>> B = ['2','3','4']
>>> print "Solution A : {}\nSolution B : {}".format(" ".join(A), " ".join(B))
Solution A : 1 2 3
Solution B : 2 3 4
>>>

但请注意,在使用str.join之前,列表中的项必须为字符串。在您的示例中,您提供了整数列表。所以,如果你有这些,你可以这样做:

>>> A = [1,2,3]
>>> B = [2,3,4]
>>> print "Solution A : {}\nSolution B : {}".format(" ".join(map(str, A)), " ".join(map(str, B)))
Solution A : 1 2 3
Solution B : 2 3 4
>>>

以下是map的参考资料。

答案 2 :(得分:0)

使用join函数将列表转换为字符串,然后对其进行格式化。

' '.join(A) #  "1 2 3"

答案 3 :(得分:0)

你可以设置一个小函数来将项目格式化为文本字符串,在格式化时你可以避免重复:

def textlist(mylist):
    return ' '.join(map(str, mylist))

print "Solution A: {0} \nSolution B: {1}".format(textlist(A), textlist(B))