Реализую некоторый модифицированный алгоритм А* (трассировка пути).
import random #есть некоторый открытый список вершин opendot = [(random.randint(0,2),random.randint(0,2)) for j in range(30)] #есть закрытый список, со стартовой точкой. При этом этот список не изменяется, как это следует в #механике алгоритма А* closedot = [(0,0)] #есть "шаг" точки. Т.е. лист с вариантами движения, для проверки соседних вершин tdot = [(-1,0),(1,0),(0,-1),(0,1)]
Собственно задача - локанично написать проверку: есть ли соседнии вершины((-1,0), (1,0),(0,-1),(0,1)) в открытом списке?
В лоб эта задача решается довольно большим куском кода, что грубо. Есть соблазн использовать лямбду с суммой элементов списка для проверки. Но пока идея туманна и возникает вопрос производительности этой функции в питоне.
Можете предложить вариаты проверки, возможно, структурные?