【发布时间】: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)。