如何从使用 for 循环创建的嵌套列表中删除空格?

How do I remove Spaces from nested list created with for loop?

我使用 for 循环创建了一个嵌套列表。我使用了以下代码: '''

a=[]
for i in range(1,5+1):
        a=a+[[1]*i]
print(a)

'''

输出为:

如何从列表中删除每 1 之前的这些空格?我需要修改我的列表!

空格是列表对象默认 __repr__(视觉表示)的一部分。 要删除空格,您必须自己进行输出处理。

将列表转换为字符串。从中删除空格。打印:

print( str(a).replace(' ', '') )

输出:

'[[1],[1,1],[1,1,1],[1,1,1,1],[1,1,1,1,1]]'

“但是我怎样才能在我的列表中进行更改呢?”

你不能。正如我所说,这些空格来自 __repr__,它在您打印列表时被隐式调用。您的列表中没有空格,仅在打印表示中。您无法从内存列表中删除空格,就像您无法删除逗号或括号一样。

你试过了吗: a=[] for i in range(1,5+1): a=a+[[1]*i] print(a, end='')?

您得到的输出是 python 的默认输出。为了更改它,您可以按照 Prune 所述执行以下操作:

a = []
for i in range (1, 6):
    a += str([1]*i).replace(' ', '')
print(a)

#or

a = []
for i in range(1, 6):
    a += [[1]*i]
a = str(a).replace(' ', '')
print(a)