我正在编写一段代码,它应该输出用逗号分隔的项目列表。该列表由for
循环生成:
for x in range(5):
print(x, end=",")
问题是我不知道如何删除与列表中最后一个条目一起添加的最后一个逗号。它输出以下内容:
0,1,2,3,4,
如何删除结尾,
?
sep=","
作为参数传递给print()
使用PRINT语句就快成功了。
不需要循环,print既有sep
参数,也有end
参数。
>>> print(*range(5), sep=", ")
0, 1, 2, 3, 4
print
内置函数接受任意数量的项作为要打印的参数。将打印任何非关键字参数,并以sep
分隔。sep
的默认值是单个空格。
>>> print("hello", "world")
hello world
更改sep
具有预期结果。
>>> print("hello", "world", sep=" cruel ")
hello cruel world
每个参数都使用str()
字符串化。将迭代数传递给print语句将把迭代数字符串化为一个参数。
>>> print(["hello", "world"], sep=" cruel ")
['hello', 'world']
但是,如果您将星号放在可迭代之前,这会将其分解为单独的参数,并允许使用sep
。
>>> print(*["hello", "world"], sep=" cruel ")
hello cruel world
>>> print(*range(5), sep="---")
0---1---2---3---4
join
作为备选使用给定分隔符将可迭代项联接到字符串的替代方法是使用分隔符字符串的join
方法。
>>>print(" cruel ".join(["hello", "world"]))
hello cruel world
这稍微有点笨拙,因为它需要将非字符串元素显式转换为字符串。
>>>print(",".join([str(i) for i in range(5)]))
0,1,2,3,4
您建议的方法是使用循环来连接字符串,并在此过程中添加逗号。当然,这会产生正确的结果,但它的工作要困难得多。
>>>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
这篇关于打印用逗号分隔的列表,不带尾随逗号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!