[英]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.