2013-11-10 127 views
-1

我想删除每个打印的变量之间的空格,并用逗号替换它们。在Python中用逗号替换变量之间的空格

在当前状态下,字符串然后每个都可以用可分隔的空格进行分隔。

例如,如果a = 1且每个变量增加1,那么将打印:1 2 3 4 5 6 7 8 9.我希望它打印:1,2,3,4,5, 6,7,8,9。

我该怎么做?

谢谢。

这里是我试图改变代码:

print("Test: ", a,b,c,d,e,f,g,h,i) 

回答

1

@马亭的答案是更好的方式来做到这一点,但只是让你知道这是可能的,功能print需要一个关键字参数,sep,指定什么参数之间打印功能之间。

>>> print('Test:', a,b,c,d,e,f,g,h,i, sep=',') 
Test:, 1,2,3,4,5,6,7,8,9 

正如你所看到的,它也在“测试:”后打印逗号,这可能不是你想要的。

+0

这就是为什么我删除了与此相同的答案:)其他尽管杂乱的选项是'print'('Test':',end ='')'然后'print(a,b,c, d,e,f,g,h,i,sep =',')' –

+0

对!我肯定会选择'“,”。join()'。 –

+0

感谢您的帮助。我将使用这个代码。 – user2975192

2

使用str.join()

print('Test:', ','.join(map(str, [a, b, c, d, e, f, g, h, i]))) 

map()呼吁确保所有值都是字符串第一。

演示:

>>> a, b, c, d, e, f, g, h, i = range(1, 10) 
>>> print('Test:', ','.join(map(str, [a, b, c, d, e, f, g, h, i]))) 
Test: 1,2,3,4,5,6,7,8,9 
0

加入iterables是Python新手学习最令人沮丧的事情之一。例如,没有列表的连接方法。

理由是这是一个字符串方法。它是有道理的,因为它返回一个字符串。

但是,内置的join()函数需要一个迭代器,并且要在其中加入项目的字符串会很有意义并且可以获得我的支持。

然而,Python的优势在于,这些基本但反直觉的操作非常少。