>>>iterable = range(5)
>>>result = ""
>>>for item, i in enumerate(iterable):
>>> result = result + str(item)
>>> if i > len(iterable) - 1:
>>> result = result + ","
>>>print(result)
0,1,2,3,4
opt_comma="" # no comma on first print
for x in range(5):
print (opt_comma,x,sep="",end="") # we are manually handling sep and end
opt_comma="," # use comma for prints after the first one
print() # force new line
6条答案
按热度按时间gmxoilav1#
将sep=“,”作为参数传递到print()
你的打印声明就快到了。
不需要循环,打印有一个
sep
参数以及end
.一点解释
这个
print
builtin接受任意数量的项作为要打印的参数。任何非关键字参数都将被打印出来,用sep
. 的默认值sep
是一个单独的空间。改变
sep
达到预期效果。每一个论点都被严格化为
str()
. 将iterable传递给print语句会将iterable字符串化为一个参数。但是,如果在iterable前面加上星号,则会将其分解为单独的参数,并允许使用
sep
.使用join作为替代
将iteable连接到具有给定分隔符的字符串的另一种方法是使用
join
分隔符字符串的方法。这有点笨拙,因为它需要将非字符串元素显式转换为字符串。
蛮力-非Python
您建议的方法是使用循环连接一个字符串,并在此过程中添加逗号。当然,这会产生正确的结果,但它的工作要困难得多。
ctrmrzij2#
你可以用
str.join()
创建要打印的字符串,然后打印它。示例-演示-
我正在使用上面的列表理解,因为当与
str.join
.68de4m5k3#
要做到这一点,你可以使用
str.join()
.我们需要把数字转换成
range(5)
先打电话str.join()
. 我们使用map()
操作。然后我们加入从map()
用逗号,
.vd2z7a6w4#
您可以使用另一种更接近原始代码的表单:
当然,这个线程中的其他更具python风格的答案可能更好地服务于程序的意图。不过,在某些情况下,这可能是一种有用的方法。
kuuvgm7e5#
svmlkihl6#
示例代码:
结果: