【发布时间】:2017-04-22 18:49:40
【问题描述】:
我有两个嵌套元组,分别名为 coord 和 coord2,我想看看第一个元组中的一组坐标是否与另一个元组中的另一组坐标匹配索引。
例如,
coord[0][1] = 127,
coord[0][2] = 128,
coord[0] = 127,128,129....
coord[1][0] = 302,
coord[1] = 302,303,304 ....
现在我可以查看每个索引是否与另一个元组的索引完全匹配,但不能查看一个集合是否存在于另一个集合中。这是我的代码:
for i in range(60):
if (coord[0][i]) == (coord2[0][i]) and (coord[1][i]) == (coord2[1][i]):
print(coord[0][i])
print(coord[1][i])
count += 1
total += 1
else:
total += 1
我该怎么做呢?我对在 python 中使用 numpy 数组很陌生
我已经写了一些这样的新代码,
for i in range(60):
if coord2[0][i] and coord2[1][i] in coord:
count += 1
total += 1
else:
total += 1
在我看来,这应该告诉我第二个元组中的任何一组坐标是否在第一个元组中。但是我遇到了一个错误,ValueError:具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all()
【问题讨论】:
-
让我们确保术语正确。
2-D tuple不清楚。元组,如列表,可以包含数字或其他列表/元组。我更喜欢术语“嵌套列表/元组”而不是 2d。numpy数组虽然可能是二维的。由嵌套元组组成的数组最终可能是 2d 的。无论如何,目前您正在将coord索引为嵌套元组(或列表)。那对你有用吗?有什么问题(如果有的话)? -
所以我只想知道第二个元组 coord2 中的任何坐标是否在第一个元组坐标中。我已经编写了一些我认为应该完成此任务的新代码,但我遇到了错误
标签: python arrays opencv numpy tuples