簡體   English   中英

將打印在不同行上的輸出轉換為列表 python

[英]Convert output printed on different lines into list python

我一直對此感到困惑,似乎無法弄清楚。

我有一個大數據集並計算了一些浮點對象,當我打印它時,它在一個新行中打印每個輸出(下面的示例數據子集):

print(x)
> 1.22
> 1.33
> 1.44

我想將這些值轉換為字符串列表:

['1.22','1.33','1.44']

我嘗試將浮動對象轉換為字符串並遵循類似的建議here然后嘗試使用 itertools 組合列表。

x_in_list = [y for y in (i.strip() for i in str(x).splitlines()) if y]
x_combined = itertools.chain(*x_in_list)

這給了我很多:

<itertools.chain object at 0x7ff6d00c2160>
<itertools.chain object at 0x7ff6e012f040>
<itertools.chain object at 0x7ff6d00c2250>

我認為這個問題與我在這里使用浮動對象的事實有關。 我知道我可能可以在我的原始循環中以更簡單、更優雅的方式做到這一點,但現在我已經開始了,我真的很想弄清楚這一點。

似乎x是一個以\\n作為分隔符的字符串。 您可以使用字符串的split()方法根據該分隔符拆分x

你可以簡單地做:

x_in_list = x.split()

默認情況下split()根據空格和換行符拆分字符串。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM