代码之家  ›  专栏  ›  技术社区  ›  ThinkCode

如何在python中打印不带空格的变量字符串(最小编码!)[复制品]

  •  3
  • ThinkCode  · 技术社区  · 16 年前

    我有点像: print "\n","|",id,"|",var1,"|",var2,"|",var3,"|",var4,"|"

    它为每个变量打印空格。

    | 1 | john | h | johnny | mba |
    

    我想要这样的东西:

    |1|john|h|johnny|mba|
    

    我有20个变量需要打印,我不喜欢对它们中的每一个使用sys.stdout.write(var)。谢谢你,蟒蛇!

    4 回复  |  直到 16 年前
        1
  •  6
  •   MAK    16 年前

    试用使用 join :

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

    或者如果变量不是字符串:

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

    这种方法的好处在于,您不必构建长格式字符串,而且对于任意数量的变量,它基本上是不变的。

        2
  •  7
  •   Mike Boers    16 年前

    对于可变数值:

    print '|%s|' % '|'.join(str(x) for x in [id, var1, var2, var3, var4])
    
        3
  •  5
  •   user389875    16 年前
    print "\n|%s|%s|%s|%s" % (id,var1,var2,var3,var4)
    

    看一看 String Formatting .

    编辑:加入的其他答案更好。join需要字符串。

        4
  •  2
  •   Steven Mohr    16 年前

    如果您使用的是python 2.6或更高版本,请使用新的标准来格式化字符串,str.format方法:

    print "\n{0}|{1}|{2}|".format(id,var1,var2)
    

    link text