我想删除每个打印的变量之间的空格,并用逗号替换它们。在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)
我想删除每个打印的变量之间的空格,并用逗号替换它们。在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)
@马亭的答案是更好的方式来做到这一点,但只是让你知道这是可能的,功能print
需要一个关键字参数,sep
,指定什么参数之间打印功能之间。
>>> print('Test:', a,b,c,d,e,f,g,h,i, sep=',')
Test:, 1,2,3,4,5,6,7,8,9
正如你所看到的,它也在“测试:”后打印逗号,这可能不是你想要的。
使用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
加入iterables是Python新手学习最令人沮丧的事情之一。例如,没有列表的连接方法。
理由是这是一个字符串方法。它是有道理的,因为它返回一个字符串。
但是,内置的join()函数需要一个迭代器,并且要在其中加入项目的字符串会很有意义并且可以获得我的支持。
然而,Python的优势在于,这些基本但反直觉的操作非常少。
这就是为什么我删除了与此相同的答案:)其他尽管杂乱的选项是'print'('Test':',end ='')'然后'print(a,b,c, d,e,f,g,h,i,sep =',')' –
对!我肯定会选择'“,”。join()'。 –
感谢您的帮助。我将使用这个代码。 – user2975192