1

如何转换:

[2, 4, array([ 3.]), array([ 4.]), array([ 5.,  4.])]

[2,4,3,4,5,4]

我试过搜索,但解决方案适用于

[array([ 2.]), array([ 4.]), array([ 3.]), array([ 4.]), array([ 5.,  4.])]

[[2],[4],[3],[4],[5,4]]
4

2 回答 2

1
import itertools

a = [2, 4, array([ 3.]), array([ 4.]), array([ 5.,  4.])]
list(itertools.chain.from_iterable(asarray(b).ravel() for b in a))
于 2012-12-07T09:56:31.970 回答
0

我喜欢使用 sum 来扁平化事物。在您的情况下,您首先要将数组转换为列表,然后将数字转换为数字列表。因此,如果数组位于:

sum((list(x) if hasattr(x, '__iter__') else [x] for x in a), [])
于 2012-12-07T10:23:19.220 回答