【问题标题】:Convert output printed on different lines into list python将打印在不同行上的输出转换为列表 python
【发布时间】:2020-11-17 05:22:24
【问题描述】:

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

我有一个大型数据集并计算了一些浮点对象,当我打印它时,它会将每个输出打印在一个新行中(下面的数据子集示例):

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>

我认为这个问题与我在这里使用浮动对象的事实有关。我知道我可能可以在我原来的循环中以更简单、更优雅的方式做到这一点,但现在我已经开始了,我真的很想弄清楚这一点。

【问题讨论】:

  • itertools.chain(*x_in_list) 必须是 list(itertools.chain.from_iterable(x_in_list)

标签: python list output


【解决方案1】:

似乎x 是一个以\n 作为分隔符的字符串。您可以使用字符串的split() 方法根据该分隔符拆分x

你可以这样做:

x_in_list = x.split()

默认情况下,split() 根据空格和换行符分割字符串。

【讨论】:

    猜你喜欢
    • 2016-06-26
    • 2016-05-13
    • 2015-07-09
    • 2015-06-02
    • 1970-01-01
    • 2019-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多