【发布时间】:2019-12-10 06:23:06
【问题描述】:
我想知道如何从列表中删除换行符(或者如果使用了 strip 方法,如何删除剩余的空字符串)。这是我到目前为止的代码:
pixel_start = 0
pixel_width = 25
pixel_height = 6
layer_dimension = pixel_width * pixel_height
pixel_end = layer_dimension
layers = []
def get_layer():
return layer_list[pixel_start:pixel_end]
def increment_layer(pixel_start, pixel_end):
pixel_start += layer_dimension
pixel_end += layer_dimension
return pixel_start, pixel_end
with open('pixel_layers.txt') as layer_file:
layer_list = layer_file.readline().strip()
while len(layers) <= (len(layer_list) / layer_dimension):
layers.append(get_layer())
pixel_start, pixel_end = increment_layer(pixel_start, pixel_end)
layers = layers[:-1]
该文件仅包含一行 1500 个字符和一个换行符。其余代码将该列表分解为 100 个项目的列表,每个列表包含 150 个字符。然而,它实际上最终是 101 项,因为即使使用 strip 方法,它也会留下一个空字符串作为列表中的第 101 项。
我怎样才能避免这种情况?我不希望最终列表中出现换行符或空字符串。现在我有最后一行来删除它,但这很丑陋,而且根本不是正确的方法。
谢谢!
【问题讨论】:
-
您能否提供一个缩写(比如 300 个左右的字符,所以只有前两个项目)版本的输入,以便我们自己对此进行试验?这个问题对我来说不是很明显。
-
在你的例子中
len(layer_list) / layer_dimension接近10,所以你的len(layers)不能超过10 -
我不知道如何附加文件,但在这里是第300个值:221002222122020222021022222022222222222222222222221222222022220222112022220222022020222202222222220222222222221222212222222222222222222222222222022222220202222122121222022122222122222222222222222222222222222022221222102022221222122220222202222222220222222222222222202222222222222222222222222222222222 SPAN>