【发布时间】:2021-03-26 21:36:22
【问题描述】:
我正在尝试对点的移动进行编码,但我不希望点超过。除非前面有另一个点,否则每个点的速度都会增加(直到达到最大值)。
数组 a 是由每个点嵌套/划分的点之间相对于彼此的一系列距离。数组 b 是一组速度(最初从静止开始)。
如果速度 + 1 + 嵌套距离中的任何值 = 0,那么我不希望速度增加。但是,当我应用 any 函数时,它似乎适用于整个数组,而不是我想要的特定嵌套列表:
import numpy as np
a = [[-1, -3], [1, -2], [3, 2]] #relative distances of each point
b = np.zeros(3) #velocities
for count, i in enumerate(a):
if b[count] + 1 + any(a[count]) == 0:
b[count] == b[count]
else:
b[count] += 1
print(b)
输出是[1。 1. 1.],但我想要 [0.,1.,1.]。我应用错了吗?如果您需要任何进一步的说明,请告诉我
【问题讨论】:
-
any(data) == 0并不意味着“数据中的任何项目是否等于零”它的意思是“是在data上调用any的结果等于零” -
我想你想要
any(x == 0 for x in i) -
any(a[count]) 在 count 为 0 时返回 True,然后在进行加法 + 时返回 True 值为 1。所以 0 + 1 + 1 != 0 .... 也许这是你的问题?您能否详细说明您对这里的期望?