我可以转换此列表:
[0, 1, 2, 3, 4, 5, array([6, 9], dtype=int64), 7, 8, array([6, 9], dtype=int64)]
进入这个:
[array([0], dtype=int64), array([1], dtype=int64), array([2], dtype=int64), array([3], dtype=int64), array([4], dtype=int64), array([5], dtype=int64), array([6, 9], dtype=int64), array([7], dtype=int64), array([8], dtype=int64), array([6, 9], dtype=int64)]
答案 0 :(得分:2)
FWIW,这是一个不寻常的数据结构。但鉴于此,也许这样的事情可行:
>>> a = [0, 1, 2, 3, 4, 5, np.array([6, 9], dtype=np.int64), 7, 8, np.array([6, 9], dtype=np.int64)]
>>> b = [np.atleast_1d(np.asarray(x,dtype=np.int64)) for x in a]
给出了
>>> pprint(b)
[array([0], dtype=int64),
array([1], dtype=int64),
array([2], dtype=int64),
array([3], dtype=int64),
array([4], dtype=int64),
array([5], dtype=int64),
array([6, 9], dtype=int64),
array([7], dtype=int64),
array([8], dtype=int64),
array([6, 9], dtype=int64)]
答案 1 :(得分:0)
不应该这样做吗?
L = [0, 1, 2, 3, 4, 5, array([6, 9], dtype=int64), 7, 8, array([6, 9], dtype=int64)]
new_L = [array(x, dtype=int64) for x in L]
编辑:
如果你想要单例数组,那么
new_new_L = [array(x, dtype=int64) if type(x)==ndarray else array([x], dtype=int64) for x in L]