为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

撒科打诨 2022-06-14 10:07:48
我有一个多行字符串,如下所示: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')]


查看完整回答
反对 回复 2022-06-14
?
蝴蝶刀刀

TA贡献1801条经验 获得超8个赞

目前尚不清楚您所说的“多行”字符串是什么意思,但可以说它是这样的:


tableOut = 'something1\n' \

           'something2\n' \

           'something3'

然后你可以这样做:


result = []

for line in tableOut.split('\n'):

    result.append(line.strip())

不是最 Pythonic 的方式,但它与您尝试做的类似。


查看完整回答
反对 回复 2022-06-14
  • 2 回答
  • 0 关注
  • 78 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信