我有一個多行字符串,如下所示:something1something2something3我想將此字符串的每一行發(fā)送到一個列表,result[0] = something1依此類推。我試過這樣做:for line in tableOut: results.append(line.strip().split('\n'))但是,這會使字符串的每個字符都發(fā)送到列表中的唯一索引。例如:[['s'], ['o'], ['m'], ['e'], ['t'], ['h'], ['i'], ['n'], ['g'], ['1']]為什么這不起作用,如何將多行字符串的每一行發(fā)送到 for 循環(huán)內(nèi)列表中的唯一索引?
2 回答

HUWWW
TA貢獻(xiàn)1874條經(jīng)驗 獲得超12個贊
tableOut
是一個字符串:一個字符序列。命名循環(huán)索引line
會產(chǎn)生誤導(dǎo),因為字符串上的迭代器會返回單個字符。那是你的主要問題。
相反,split
您的字符串變成了行列表——正如@sardok 已經(jīng)總結(jié)的那樣。剝離各個線。您可以使用列表理解而不是顯式循環(huán)來做到這一點。
results = [strip(line) for line in tableOut.split('\n')]

蝴蝶刀刀
TA貢獻(xiàn)1801條經(jīng)驗 獲得超8個贊
目前尚不清楚您所說的“多行”字符串是什么意思,但可以說它是這樣的:
tableOut = 'something1\n' \
'something2\n' \
'something3'
然后你可以這樣做:
result = []
for line in tableOut.split('\n'):
result.append(line.strip())
不是最 Pythonic 的方式,但它與您嘗試做的類似。
添加回答
舉報
0/150
提交
取消