在Python中编辑输出

时间:2014-04-26 21:56:09

标签: python python-2.7 string-formatting

我有以下代码:

nodeCount = 10
vertexCount = 15

vertices = {}
while len(vertices) < vertexCount:
    x = random.randint (1, nodeCount)
    y = random.randint (1, nodeCount)
    if x == y: continue
    if y < x: x, y = y, x
    w = random.randint(0,10)
    vertices [x, y] = w

print (nodeCount, vertexCount)
for (x, y), w in vertices.items ():
    print (x, y, w)

当我运行它时,我得到类似于以下内容的输出:

(10, 15)
(3, 8, 10)
(6, 8, 1)
(4, 10, 7) #there's more output but not necessary to post

我试图将输出的格式设置为以下但是在输出中没有括号或逗号的情况下,这样我就可以将输出管道输出到其他地方我可以致力于:

10 15
3 8 10
6 8 1
4 10 7

我已经阅读了有关使用.split()的内容,但我一般都不会使用Python,并且遇到了尝试更改输出格式化方式的问题。

2 个答案:

答案 0 :(得分:1)

在Python 2中,print是一个语句,而不是一个方法,所以在没有括号的情况下调用它:

print nodeCount, vertexCount
...
print x, y, w

如果您使用括号进行调用,则会创建tuple。当print打印元组时,它将内容包装在括号内,因为它是tuple表示。

答案 1 :(得分:0)

在Python 2.x中,print 不是一个函数(它是一个语句),所以你在行中做了什么:

print (x, y, w)

是您在x, y and w中打包tuple并打印它。因此,输出将为tuple

你能做什么?

只需删除括号()

print x, y, w