检查numpy数组python中的最后n个元素是否相等

时间:2018-06-22 13:13:46

标签: python arrays numpy iterator

我有一个带数字的numpy数组,我想计算从最后一个元素开始有多少个元素相等。

A = [1, 3, 2, 2, 0, 3, 2, 2, 2, 2]

然后我希望返回值为4(最后四个元素相等)

2 个答案:

答案 0 :(得分:4)

print(np.argmax(A[::-1] != A[-1]))

我不确定当A超大时它如何执行。在这种情况下,简单的for循环会更好。

注意:可以通过documentation中的以下行来理解为什么有效:

  

如果多次出现最大值,则返回对应于第一次出现的索引。


感谢YSelf进行纠正。

答案 1 :(得分:1)

对于大型数组,您只希望其中的几个项目是相同的,使用let options = CGWindowListOption(arrayLiteral: .excludeDesktopElements, .optionOnScreenOnly) let windowsListInfo = CGWindowListCopyWindowInfo(options, CGWindowID(0)) let infoList = windowsListInfo as! [[String:Any]] let visibleWindows = infoList.filter{ $0["kCGWindowLayer"] as! Int == 0 } print(visibleWindows) 的生成器表达式可能会很有效:

// return "Data Source=(local)\\SQLEXPRESS2;Initial Catalog=" + mCatalog + ";Integrated Security=True;Connect Timeout=30;MultipleActiveResultSets=False;Context Connection=False";
return "Data Source=(LocalDB)\\MSSQLLocalDB;Initial Catalog=" + mCatalog + ";Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";