小编Lan*_*ait的帖子

了解NumPy的einsum

我很难理解究竟是如何einsum运作的.我看过文档和一些例子,但它似乎并不坚持.

这是我们在课堂上看到的一个例子:

C = np.einsum("ij,jk->ki", A, B)
Run Code Online (Sandbox Code Playgroud)

对于两个数组AB

我想这会采取A^T * B,但我不确定(它正在将其中一个的转置正确吗?).任何人都可以告诉我这里发生了什么(通常在使用时einsum)?

python arrays numpy multidimensional-array numpy-einsum

160
推荐指数
6
解决办法
4万
查看次数

检查列表是否包含其他列表中的所有项目

检查元组列表是否包含另一个列表所具有的所有元组的最简单/最快方法是什么.例如:

t1 = [ (1,2), (3,4), (5,6), (7,8), (9,10), (11,12) ]
t2 = [ (3,4), (11,12) ]
Run Code Online (Sandbox Code Playgroud)

将是一个真实的情况,因为t1包含t2中的所有元组.我尝试过类似的东西:

[i for e in t2 for i in t1 if e in i]
sorted(t1) == sorted(t2)
Run Code Online (Sandbox Code Playgroud)

但这似乎总是回归真实.有没有更好的办法?

python

12
推荐指数
2
解决办法
1万
查看次数

优化Java阵列复制

因此,对于我的研究小组,我试图将一些旧的C++代码转换为Java,并且遇到了一个问题,在C++代码中它执行以下操作:

    method(array+i, other parameters)
Run Code Online (Sandbox Code Playgroud)

现在我知道Java不支持指针算法,所以我通过将数组+ i中的子数组复制到数组的末尾到新数组来解决这个问题,但这会导致代码运行速度非常慢(比C++慢100倍)版).有办法解决这个问题吗?我看到有人在这里提到内置方法,但是更快吗?

java arrays

1
推荐指数
1
解决办法
118
查看次数