将多行字符串的每一行发送到for循环中的列表

2024-03-29 08:27:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个多行字符串,看起来像这样:

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循环中列表中的唯一索引?你知道吗


Tags: 字符串in列表forlineresult字符results
2条回答

不清楚“多行”字符串是什么意思,但可以这样说:

tableOut = 'something1\n' \
           'something2\n' \
           'something3'

然后你可以做:

result = []
for line in tableOut.split('\n'):
    result.append(line.strip())

不是最像Python的方式,但和你想做的很相似。你知道吗

tableOut是一个字符串:一个字符序列。命名循环索引line是一种误导,因为字符串上的迭代器返回单个字符。那是你的主要问题。你知道吗

相反,split将您的字符串放入一个行列表中,如@sardok所示。剥去各条线。您可以使用一个显式循环的列表来实现这一点。你知道吗

results = [strip(line) for line in tableOut.split('\n')]

相关问题 更多 >