【发布时间】:2020-06-23 21:43:39
【问题描述】:
对于给定的任何坐标元组(例如 (2,2) 或 (1,2,3) 或 (4,5,6,7,8) 等),我如何获取列表所有相邻坐标。
那么,
find_adjacents((2,2))
>>[[1,1],[1,2],[1,3],[2,1],[2,3],[3,1],[3,2],[3,3]]
和
find_adjacents((2,2,2,2))
would return something with 3^4-1 elements
您可以忽略这种情况的边缘情况(想象索引范围从 -inf 到 inf)
【问题讨论】:
-
“所有相邻坐标”是模糊的;你到底什么意思?为什么这是预期的输出?为什么要递归地做呢?
-
对不起。我的意思是任何元素都在每个指定坐标元素的 1 以内(包括“角”)。 (1,1,1) 的角相邻元素将是 000,200,002,020,220,022,202,222。
-
我明白了——但不包括输入本身?
-
是的。所以它总是 3^4-1 个元素而不是 3^4
标签: python list recursion tuples