if n == 1: return [(-1,), (1,)]
if n == 2: return [(-1,0), (1,0), (0,-1), (0,1)]
if n == 3: return [(-1,0,0), (1,0,0), (0,-1,0), (0,1,0), (0,0,-1), (0,0,1)]
基本上,返回2n
符合上述规范的元组列表。上面的代码适用于我的目的,但我希望看到一个适用于所有 n ∈ ℕ 的函数(仅用于教化)。包括tuple([0]*n)
在答案中是我可以接受的。
我正在使用它来生成测量多面体的面方向。对于所有方向,我都可以使用list(itertools.product(*[(0, -1, 1)]*n))
,但我无法仅针对面部方向想出如此简洁的东西。