如何从使用 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)
我使用 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)