【发布时间】:2021-06-11 03:07:40
【问题描述】:
我使用 for 循环创建了一个嵌套列表。我使用了以下代码: '''
a=[]
for i in range(1,5+1):
a=a+[[1]*i]
print(a)
'''
如何从列表中删除每个 1 之前的这些空格?我需要修改我的列表!
【问题讨论】:
标签: python arrays python-3.x list python-2.7
我使用 for 循环创建了一个嵌套列表。我使用了以下代码: '''
a=[]
for i in range(1,5+1):
a=a+[[1]*i]
print(a)
'''
如何从列表中删除每个 1 之前的这些空格?我需要修改我的列表!
【问题讨论】:
标签: python arrays python-3.x list python-2.7
空格是列表对象默认__repr__(可视化表示)的一部分。
要删除空格,您必须自己进行输出处理。
将列表转换为字符串。从中删除空格。打印:
print( str(a).replace(' ', '') )
输出:
'[[1],[1,1],[1,1,1],[1,1,1,1],[1,1,1,1,1]]'
“但是我怎样才能在我的列表中做出改变呢?”
你不能。正如我所说,这些空格来自__repr__,当您打印列表时会隐式调用它。您的列表中没有空格,仅在打印表示中。你不能从你的内存列表中删除空格,就像你不能删除逗号或括号一样。
【讨论】:
1,没有任何空格。
你得到的输出是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)
【讨论】:
您是否尝试过:
a=[] for i in range(1,5+1): a=a+[[1]*i] print(a, end='')?
【讨论】: