如何将这些调用合并到print()?

时间:2019-04-19 06:52:39

标签: python python-3.x printing

在我的程序中,我需要输出网格中的点列表(行和列的元组)。但是,有时需要交换行和列。目前,我是这样的:

 if swapped:
    for col, row in points:
        print(row, col)
 else:
    for row, col in points:
        print(row, col)

我可以通过一次调用print()来做到这一点吗?

5 个答案:

答案 0 :(得分:3)

你是说吗?

for col, row in points:
    print(row + ' ' + col if swapped else col + ' ' + row)

仅使用一个print就可以达到预期的输出。

答案 1 :(得分:3)

所以,交换它们:

for col, row in points:
    if swapped:
        col, row = row, col
    print(col, row)

答案 2 :(得分:1)

在python中进行交换的最简单,最简单的方法如下:

s1, s2 = s2, s1

在您看来,代码看起来像这样

for col, row in points:
  if swapped:
    col, row = row, col
  print(row, col)

答案 3 :(得分:0)

看看下面的解决方案,交换变量:

for col, row in points:
    if swapped:
        row, col = col, row
    print(row, col)

答案 4 :(得分:0)

这应该也可以


points = [(1,2), (3,4)]
swapped = True
for col, row in points:
    print((row, col) if swapped else (col, row))
#(2, 1)
#(4, 3)

另一个例子是

points = [(1,2.5), ('x',4)]
swapped = False
for col, row in points:
    print((row, col) if swapped else (col, row))
#(1, 2.5)
#('x', 4)