回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一组嵌套的元组:</p>
<pre><code>('id', ('name', ('name_float_fml',)), ('user', ('email',)), ('user', ('last_login',)))
</code></pre>
<p>我想将具有类似前缀的列表组合在一起,结果是:</p>
^{pr2}$
<p>下面是另一个例子:</p>
<pre><code>(('baz', ('bing', ('fizz', 'frozz', ('frazz', ('fry', 'bleep', 'blop'))))), ('baz', ('zap', ('zang',))), 'foo', 'bar')
</code></pre>
<p>将合并为:</p>
<pre><code>(('baz', (('bing', ('fizz', 'frozz', ('frazz', ('fry', 'bleep', 'blop')))), ('zap', ('zang')))), 'foo', 'bar')
</code></pre>
<p>这些用于存储从根到树叶的路径:</p>
<ul>
<li>“baz”—>;“bing”—>;“fizz”,又名。<code>('baz' ('bing' ('fizz,)))</code></li>
<li>'baz'->;'zap'->;'zang',又名<code>('baz' ('zap', ('zang',)))</code></li>
<li>“baz”—>;“bing”—>;“frazz”—>;“blop”,即<code>('baz', ('bing', ('frazz', ('blop,))))</code></li>
</ul>
<p>我想合并树叶通过相同路径到达的元素。我希望这能提供一些澄清。在</p>
<p>我已经编写了一些代码来实现这一点,但它很难看、冗长,而且可能很脆弱。有没有一些通用的、简明的和/或有效的方法来做到这一点?我想可能有某种我不知道的魔法能提供一些优雅的解决方案。在</p>
<p><strong>注意:</strong>我使用的是Python2.4</p>