考虑一个数组M,由对元素组成(我用空格来强调我们将处理元素对),实际的数组将有大量的行和4、6、8或10列。
import numpy as np
M = np.array([[1,3, 2,1, 4,2, 3,3],
[3,5, 6,9, 5,1, 3,4],
[1,3, 2,4, 3,4, 7,2],
[4,5, 1,2, 2,1, 2,3],
[6,4, 4,1, 6,1, 4,7],
[6,7, 7,6, 9,7, 6,2],
[5,3, 1,5, 3,3, 3,3]])
问题:我想从M中排除这样的行:该行中的元素对与其他任何元素对没有公共元素。
在数组M中,第2行和第4行应该被删除,原因如下:
**第2行:**元素对(6,9)与元素(3,5)、(5,1)或(3,4)没有公共元素
**第4行:**对(4,5)与(1,2)、(2,1)或(2,3)没有公共元素
我相信有一个很好的广播解决方案,但我看不到它。
2条答案
按热度按时间lmvvr0a81#
这是一个广播解决方案。希望它是自我解释:
输出:
anhgbhbe2#
另一个解决办法是-