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))
が、顔の方向だけについてはそれほど簡潔なものを思いつくことはできません。