我有一个多行字符串,如下所示:something1something2something3我想将此字符串的每一行发送到一个列表,result[0] = something1依此类推。我试过这样做:for line in tableOut: results.append(line.strip().split('\n'))但是,这会使字符串的每个字符都发送到列表中的唯一索引。例如:[['s'], ['o'], ['m'], ['e'], ['t'], ['h'], ['i'], ['n'], ['g'], ['1']]为什么这不起作用,如何将多行字符串的每一行发送到 for 循环内列表中的唯一索引?
2 回答
HUWWW
TA贡献1874条经验 获得超12个赞
tableOut
是一个字符串:一个字符序列。命名循环索引line
会产生误导,因为字符串上的迭代器会返回单个字符。那是你的主要问题。
相反,split
您的字符串变成了行列表——正如@sardok 已经总结的那样。剥离各个线。您可以使用列表理解而不是显式循环来做到这一点。
results = [strip(line) for line in tableOut.split('\n')]
蝴蝶刀刀
TA贡献1801条经验 获得超8个赞
目前尚不清楚您所说的“多行”字符串是什么意思,但可以说它是这样的:
tableOut = 'something1\n' \
'something2\n' \
'something3'
然后你可以这样做:
result = []
for line in tableOut.split('\n'):
result.append(line.strip())
不是最 Pythonic 的方式,但它与您尝试做的类似。
添加回答
举报
0/150
提交
取消