繁体   English   中英

拆分列表并保留 python 中的空格

[英]Splitting lists and retaining the spaces in python

我想拆分这个名为形状的列表:

shape = '\n'.join(["+------------+",
                   "|            |",
                   "|            |",
                   "|            |",
                   "+------+-----+",
                   "|      |     |",
                   "|      |     |",
                   "+------+-----+"])

它应该返回如下内容:

['+------------+',|           |, |            |,'+------+-----+',...]

并不是

    ['+------------+', '|', '|', '|', '|', '|', '|', '+------+-----+', '|', '|', '|', '|', '|', '|', '+------+-----+']

我曾尝试使用 split() 但它无济于事。

感谢您的时间!

编辑:修复了格式,自从我上次使用 stackoverflow xD 已经 7 年了

我假设您要拆分的“列表”不是列表,而是类似列表的字符串。

你可以这样做:

l = ["| |", '| |',"| |",    "| |"]

stringified_list = str(l)

stringified_list = stringified_list.strip("[")
stringified_list = stringified_list.strip("]")
stringified_list = stringified_list.replace("'", "")

print(stringified_list)
>>> | |, | |, | |

对于您的新问题,您似乎想在换行符上拆分字符串,请使用:

lines = shape.split("\n")
print(lines)
>>> ['+------------+', '|            |', '|            |', '|            |', '+------+-----+', '|      |     |', '|      |     |', '+------+-----+']

让它“返回这样的东西”:

[| |, | |]

使用进一步处理:

stringified_lines = str(lines)

stringified_lines = stringified_lines.replace("'", "")
print(stringified_lines)
>>> [+------------+, |            |, |            |, |            |, +------+-----+, |      |     |, |      |     |, +------+-----+]

尝试这个:

liste = ['||', '||']
print(*liste)
>>> || ||

它应该工作

我假设您只是在剥离前导空格。 这是一个单行:

print([line.strip() for line in shape.split("\n")])

Output:

['+------------+', '|            |', '|            |', '|            |', '+------+-----+', '|      |     |', '|      |     |', '+------+-----+']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM