2024-04-27 03:55:17 发布
网友
有很多关于连接/附加数组的内容,但我在build中没有找到解决问题的方法:Input:
A = [[0,0], [0,1], [1,0], [1,1]] B = [[0], [1], [1], [0]]
输出:
C = [ [[0,0],[0]], [[0,1],[1]], [[1,0],[1]], [[1,1],[0]] ]
我不知道如何有效地解决这个问题(inbuild?)
在vanilla python中,这很容易通过map和zip实现:
map
zip
In [127]: C = list(map(list, zip(A, B))) In [128]: C Out[128]: [[[0, 0], [0]], [[0, 1], [1]], [[1, 0], [1]], [[1, 1], [0]]]
zip按元素组合这两个列表。需要map将每个压缩的元素转换为列表
和努比一起。。。。你本可以使用np.hstack,但是它们的维数不同,所以,据我所知,numpy无法有效地实现这一点
np.hstack
Python的一大优点是它支持list comprehensions
这基本上是一个产生数组的单线循环
对于您的问题—假设您保护A和B始终具有相同的长度,您可以轻松地编写一行这样的代码:
[[A[i], B[i]] for i in range(len(A))]
产生你想要的输出
在vanilla python中,这很容易通过
map
和zip
实现:zip
按元素组合这两个列表。需要map
将每个压缩的元素转换为列表和努比一起。。。。你本可以使用
np.hstack
,但是它们的维数不同,所以,据我所知,numpy无法有效地实现这一点Python的一大优点是它支持list comprehensions
这基本上是一个产生数组的单线循环
对于您的问题—假设您保护A和B始终具有相同的长度,您可以轻松地编写一行这样的代码:
产生你想要的输出
相关问题 更多 >
编程相关推荐