如何在Python中无间隔打印变量字符串(简洁的编码!)

4 投票
4 回答
13083 浏览
提问于 2025-04-16 01:18

我有这样的代码:print "\n","|",id,"|",var1,"|",var2,"|",var3,"|",var4,"|"

这段代码会在每个变量之间留出空格。

| 1 | john | h | johnny | mba |

我想要的效果是这样的:

|1|john|h|johnny|mba|

我有20个变量需要打印,但我不想为每一个都用sys.stdout.write(var)来写。感谢Python爱好者们!

4 个回答

5
print "\n|%s|%s|%s|%s" % (id,var1,var2,var3,var4)

看看这个 字符串格式化 的文档。

补充一下:其他关于使用 join 的回答更好。因为 join 是用来连接字符串的。

7

对于一个可变数量的值:

print '|%s|' % '|'.join(str(x) for x in [id, var1, var2, var3, var4])
6

试试用 join

print "\n"+'|'.join([id,var1,var2,var3,var4])

或者如果这些变量还不是字符串的话:

print "\n"+'|'.join(map(str,[id,var1,var2,var3,var4]))

这种方法的好处是,你不需要去构建一个很长的格式字符串,而且它基本上可以适用于任意数量的变量,使用起来也很方便。

撰写回答