如何在Python中无间隔打印变量字符串(简洁的编码!)
我有这样的代码: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]))
这种方法的好处是,你不需要去构建一个很长的格式字符串,而且它基本上可以适用于任意数量的变量,使用起来也很方便。