【发布时间】:2020-02-02 00:07:04
【问题描述】:
我有一个多行字符串,如下所示:
something1
something2
something3
我想将此字符串的每一行发送到一个列表,以便result[0] = something1 等等。
我试过这样做:
for line in tableOut:
results.append(line.strip().split('\n'))
但是,这会使字符串的每个字符都发送到列表中的唯一索引。
例如:
[['s'], ['o'], ['m'], ['e'], ['t'], ['h'], ['i'], ['n'], ['g'], ['1']]
为什么这不起作用,如何将多行字符串的每一行发送到 for 循环内列表中的唯一索引?
【问题讨论】:
-
查看字符串函数
split()要获得行列表,然后列表 y 上的for x in y操作会将 y 中的每个条目分配给 x - 但要小心确保生成的行没有 \r 或 \n 等。所以也许在 split 的结果上使用strip() -
[x_ for x_ in [x.strip() for x in data.splitlines()] if x_]。您的代码的固定版本可能是for line in tableOut.split('\n'): results.append(line.strip())。 -
tableOut.split()。 (遍历字符串会产生字符。) -
results = tableOut.splitlines()?