gpt4 book ai didi

python - 如果 X 和 Y 匹配 NumPy 数组中的元素

转载 作者:行者123 更新时间:2023-11-28 18:29:40 25 4
gpt4 key购买 nike

如何检查数组中是否有一个元素的两个轴 [X, Y] 匹配 [drawx, drawy]

我有一个 NumPy 数组:

#format: [X, Y]
wallxy = numpy.array([[0,1],[3,2],[4,6]])

另外两个变量:

#attached to a counter that increases value each loop
drawx = 3
drawy = 2

我将数组用作一组位置 [[0,1],[3,2],[4,6]] 我需要测试 [ drawx, drawy] (也代表一个位置)在X轴和Y轴等的位置之一。 drawx = 4 drawy = 6 返回true drawx = 3 drawy = 2 返回 true drawx = 4 drawy = 2 返回 false drawx = 2 drawy = 1 返回 false

最佳答案

== 将广播比较结果,所以

wallxy = numpy.array([[0, 1],[3, 2][4, 6]])
z0 = numpy.array([3,2])
z1 = numpy.array([2,3])

(z0==wallxy).all(1).any() # True
(z1==wallxy).all(1).any() # False

我认为这就是您要找的东西。

打印出中间步骤将有助于理解和完成类似的任务:

z0 == wallxy     # checks which elements match
# array([[False, False],
# [ True, True],
# [False, False]], dtype=bool)

(z0==wallxy).all(1) # checks whether all elements of axis 1 match
# array([False, True, False], dtype=bool)

(z0==wallxy).all(1).any() # checks whether any axis 1 matches z0
# True

如果您改为使用 z0 = numpy.array([2,3]),那么一切都会是 False

关于python - 如果 X 和 Y 匹配 NumPy 数组中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38406638/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com