0

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

在其当前状态下,将打印带有空格分隔它们的每个变量的字符串。

例如,如果 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)
4

3 回答 3

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
于 2013-11-10T00:47:14.417 回答
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:”之后打印了一个逗号,这可能不是您想要的。

于 2013-11-10T00:52:33.230 回答
0

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

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

然而,一个内置的 join() 函数接受一个可迭代的和用于连接其中项目的字符串会很有意义并得到我的支持。

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

于 2013-11-10T01:33:49.333 回答