相关疑难解决方法(0)

在Python 3中打印空格分隔的元素列表

我有一个L元素列表,比如自然数.我想用一个空格作为分隔符将它们打印在一行中.但我不希望在列表的最后一个元素之后(或在第一个元素之前)有空格.

在Python 2中,可以使用以下代码轻松完成此操作.print声明的实现(神秘地,我必须承认)避免在换行符之前打印额外的空格.

L = [1, 2, 3, 4, 5]
for x in L:
    print x,
print
Run Code Online (Sandbox Code Playgroud)

但是,在Python 3中,似乎使用该print函数的(假设的)等效代码在最后一个数字之后产生一个空格:

L = [1, 2, 3, 4, 5]
for x in L:
    print(x, end=" ")
print()
Run Code Online (Sandbox Code Playgroud)

当然,我的问题很简单.我知道我可以使用字符串连接:

L = [1, 2, 3, 4, 5]
print(" ".join(str(x) for x in L))
Run Code Online (Sandbox Code Playgroud)

这是一个非常好的解决方案,但与Python 2代码相比,我发现它反直觉并且肯定更慢.另外,我知道我可以选择是否打印空间,例如:

L = [1, 2, 3, 4, 5]
for i, x in enumerate(L):
    print(" " if i>0 else "", x, sep="", …
Run Code Online (Sandbox Code Playgroud)

python pretty-print python-3.x

30
推荐指数
2
解决办法
8万
查看次数

Python:如何删除最后的 +?

当我输入一个数字时,例如 3,我希望输出是 1+2+3,而不是 1+2+3+,我该如何解决这个问题?

number = int(input("Please enter a number: "))
for i in range(1, number + 1):
    print(i, end="+")
Run Code Online (Sandbox Code Playgroud)

python

-2
推荐指数
1
解决办法
52
查看次数

标签 统计

python ×2

pretty-print ×1

python-3.x ×1