我想删除每个打印变量之间的空格,并用逗号替换它们。
在当前状态下,将打印字符串,然后打印每个具有分隔空格的空格。
例如,如果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)
答案 0 :(得分: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
答案 1 :(得分:1)
@ Martijn的答案是更好的方法,但只是让你知道这是可能的,函数print
采用一个关键字参数sep
,它指定在两个参数之间打印的内容。功能
>>> print('Test:', a,b,c,d,e,f,g,h,i, sep=',')
Test:, 1,2,3,4,5,6,7,8,9
正如您所看到的,它还会在“Test:”之后打印一个逗号,这可能不是您想要的。
答案 2 :(得分:0)
加入iterables是Python新手学习最令人沮丧的事情之一。例如,列表没有连接方法。
理由是这是一个字符串方法。这是有道理的,因为它返回一个字符串。
但是,一个内置的join()函数接受一个iterable和一个用来连接其中的项的字符串会很有意义并得到我的支持。
然而,Python的优势在于,这些基本但反直觉的操作很少。