二维numpy数组的属性是每一列都有一个不重叠的整数范围(见下面B),例如,8只能出现在第3列。
b = [[1, 5, 9, 11, 13],
[1, 6, 8, 10, 14],
[2, 4, 8, 12, 15],
[2, 5, 7, 11, 13],
[3, 4, 9, 10, 15],
[3, 5, 7, 12, 14]]
我需要知道哪对行有0个匹配元素,1个匹配元素,......,5个匹配元素。在“完美世界”中,输出看起来像下面的数组。行0和0有5个公共元素,行0和1有1个公共元素,等等。
out = [[0, 0, 5],
[0, 1, 1],
[0, 2, 0],
[0, 3, 3],
...etc
我的主要问题是如何处理“确切”。
1条答案
按热度按时间wgeznvg71#
我想不出比列表解析更好的方法了,如果每行不包含重复项,可以通过设置
assume_unique=True
来加快速度。它应该会给予你期望的输出,虽然我觉得这样更直观:
其给出: