擅长:python、mysql、java
<p>您可以使用字典理解的递归方法:</p>
<pre><code>d = {(-1, 1): (0, 1),
(0, 0): [([([(1, 0), (0, 1)], (0, 1))], (1, 0))],
(0, 1): [([([((-1, 1), (0, 2))], (1, 1))], (0, 0))],
(0, 2): (0, 1)}
def flatten(e):
if isinstance(e[0], int):
yield e
else:
for i in e:
yield from flatten(i)
{k: list(flatten(v)) for k, v in d.items()}
</code></pre>
<p><strong>输出:</strong></p>
<pre><code>{(-1, 1): [(0, 1)],
(0, 0): [(1, 0), (0, 1), (0, 1), (1, 0)],
(0, 1): [(-1, 1), (0, 2), (1, 1), (0, 0)],
(0, 2): [(0, 1)]}
</code></pre>