擅长:python、mysql、java
<p>下面是一个强力重复数据消除程序:</p>
<pre><code>def dedup(a, b):
for i in range(len(b), 0, -1):
if a[-i:] == b[:i]:
return a[:-i]
return a
</code></pre>
<p>然后,只需快速浏览:</p>
<pre><code>>>> from itertools import chain, islice
>>> xs = ["volcano", "noway", "lease", "sequence", "erupt"]
>>> xs = [dedup(*x) for x in zip(xs, chain(islice(xs, 1, None), [""]))]
>>> "".join(xs)
'volcanowayleasequencerupt'
</code></pre>
<p>当然,这适用于任何长度的列表<code>xs</code></p>