python - 如何比较两个二维数组以查看它们的第二个元素是否匹配?
问题描述
所以我有 2 个二维数组。
lefts = [[0,21],[0,23]]
rights = [[1,21],[1,23]]
我想检查 lefts[0][1] 是否匹配任何权利[n 次][1]。所以在这种情况下 0,21 将首先检查。在任何权利[][1] 中是 21。如果是,则转到左侧 0,23 的下一个第二个元素。最后,如果两个数组都匹配,则返回 True,如果仍有一个元素挂在右侧或左侧,则返回 False。因此,如果权限有另一个数组 [1,22],这将返回 False。
我的尝试决定只创建 2 个新列表以将 2d 数组的第二个元素附加到。
check_lefts = []
check_rights = []
for i in range(len(left)):
check_lefts.append(left[i][1])
for i in range(len(right)):
check_rights.append(right[i][1])
if len(check_lefts) >= len(check_rights):
for i in check_lefts:
if i in check_rights:
return True
else:
return False
elif len(check_lefts) < len(check_rights):
for i in check_rights:
if i in check_lefts:
return True
else:
return False
解决方案
如果两个数组的长度始终相同,请尝试以下代码:为了测试,我添加了打印件。您拥有的代码有效,您唯一需要更改的是,如果它们不相同,则循环中断。如果你想返回 False 让它成为一个函数。再次,如果数组不相等,您应该更改循环以迭代最长数组的长度。
lefts = [[0,21],[0,23]]
rights = [[1,21], [1,22]]
for i in range(len(lefts)):
if lefts[i][1] != rights[i][1]:
print("False")
break
//delete the next lines
else:
print("True")
推荐阅读
- android - Android自定义视图将属性传递给子视图?
- headless-browser - 我可以以及如何使用无头 chrome 来获取网页的完整尺寸吗?
- reporting - 列出事件跟踪 Analytics Reporting API v4
- android - Android 设备的“外部存储”和“内部存储”是什么意思
- python - 如何在python中正确打开文件并打印出文本内容
- java - 放心获得 SSL 错误
- javascript - Javascript,用正则表达式替换,这种情况可能吗?
- c# - 如何使用c#删除动态crm中的帐户?
- reactjs - 当我单击按钮时,如果“isAuth”为“true”,我想从“登录”重定向到“仪表板”,但页面不重定向?
- java - 翻译动作
从 C# 到 Java