回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>这是我的第一个问题。所以让我们看看我能不能解释清楚我需要什么。你知道吗</p>
<p>我得到了一个python<code>list</code>的numpy数组,它可以有或者不能有不同的长度(仅在一维中,但这在这里并不重要),例如</p>
<pre><code>my_list = [
np.ones((20, 3, 3)),
np.ones(( 1, 3, 3)),
np.ones((20, 3, 3))
]
</code></pre>
<p>现在当我这么做的时候</p>
<pre><code>wrapped_list = np.array(my_list)
</code></pre>
<p>我得到一个如下结构的对象</p>
<pre><code>np.array(shape=(3, ), dtype=object)
</code></pre>
<p>以最初的三个数组作为内容。这就是我想要的。现在问题是:</p>
<p>如果<code>my_list</code>包含长度相同的子列表,那么我得到,例如</p>
<pre><code>my_list2 = [
np.ones((20, 3, 3)),
np.ones((20, 3, 3)),
np.ones((20, 3, 3))
]
np.array(my_list2)
</code></pre>
<p>导致</p>
<pre><code>np.array(shape=(3, 20, 3, 3), dtype=np.float64)
</code></pre>
<p>这不是我想要的。我试着指定<code>dtype</code>,比如</p>
<pre><code>np.array(my_list, dtype=object)
</code></pre>
<p>它将<em>所有</em>(子)数组强制转换为<code>dtype=object</code>。你知道吗</p>
<p>我想我找到了一种完全不用包装的方法,但是我很好奇如何将数据类型设置为np.数组不影响嵌套的numpy数组。你知道吗</p>