如何解决将大小为2的numpy数组转换为3
假设我的每个数组的大小为2
Arr1 =([[-4,1],[-3,[-2,[ 2,[ 3,[ 4,1]])
我如何向每个数组添加/附加第3个元素以获取新的数组/输出,如下所示:
New_Arr1=([[-4,1,0],0]]) ?
非常感谢, 山姆
解决方法
要将0附加到所有子列表,请执行以下操作:
for lst in Arr1:
lst.append(0)
(请注意,在Arr1
的表达式中,外部括号无效。您所拥有的是列表列表。)
请注意,这是对Arr1
的就地更改。如果您希望不修改它并创建一个完全独立的新列表列表,那么您可以在另一个答案中找到它,而我不会重复它,除了提到Azro答案中的语法假定使用Python 3(您应该使用),但是如果出于任何原因您正在使用Python 2,请改用
new_Arr1 = [lst + [0] for lst in Arr1]
更新:我看到您已经标记了numpy,所以实际上您有一个numpy数组,尽管对此问题并不明确。
如果是这样,您可以通过以下方式制作(新的,单独的)扩展数组:
New_Arr1 = np.append(Arr1,np.zeros((Arr1.shape[0],1),dtype=Arr1.dtype),axis=1)
(尽管这当然不排除存在一些更简单的方法)。
,您可以通过列表理解轻松地做到这一点,对于每个数组,使用其值创建一个新数组,并加上一个0
new_values = [[*val,0] for val in values]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。