python - 比较 N-Puzzle 问题的 3D 数组中的每个单元格
问题描述
我正在尝试比较下面的列表,前两个整数表示0
网格内的位置或空间。我想比较目标 [2]/测试 [2] 中的每个单元格并计算匹配的单元格。在这种情况下,只有 5 个匹配位置很重要。关于如何有效地做到这一点的任何建议?
goal = [0, 2, [[3, 2, 0], [6, 1, 8], [4, 7, 5]]]
test = [0, 0, [[0, 7, 1], [4, 3, 2], [8, 6, 5]]]
解决方案
我会考虑使用 zip() 方法两次:
goal = [0, 2, [[3, 2, 0], [6, 1, 8], [4, 7, 5]]]
test = [0, 0, [[0, 7, 1], [4, 3, 2], [8, 6, 5]]]
for a,b in zip(goal[2],test[2]):
for g,t in zip(a,b):
print(g)
print(t)
print()
上面的代码仅在给定位置打印值,但经过轻微修改后它应该符合您的要求,但是我不确定您想要什么结果,所以我将它留给您。
推荐阅读
- android - 使用 NavDeepLinkBuilder:通知片段
- c++ - 如何获取使用 x86intrin.h 在 MAC 上运行的代码
- azure - 我们如何以编程方式迭代租户中的 Power Apps?
- excel - Excel 按多个条件过滤表值
- java - Android 工作室动画没有按照我的需要进行
- json - 如何使用 TypeScript 将 JSON 作为带有枚举的对象加载?
- ruby-on-rails-5 - TWilio-将传入的 SMS 转发到 Rails5 中的电子邮件
- pyomo - 带变量的两边的乘法不等式
- django - 在 Django 中搜索和检索数据库中的数据
- arrays - 从一组数组中获取 10 个最小的数组