これを変換する方法:
[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]]
これを変換する方法:
[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]]
import itertools
a = [2, 4, array([ 3.]), array([ 4.]), array([ 5., 4.])]
list(itertools.chain.from_iterable(asarray(b).ravel() for b in a))
私は物事を平らにするために合計を使うのが好きです。あなたの場合、最初に配列をリストに変換し、数値を数値のリストに変換します。したがって、配列が次の場合:
sum((list(x) if hasattr(x, '__iter__') else [x] for x in a), [])