擅长:python、mysql、java
<p>不只是过滤掉重复项,因为您希望重复项附加一个<code>tab</code>和“duplicate”,只要在找到重复项时执行此操作,而不是过滤掉它:</p>
<pre class="lang-py prettyprint-override"><code>clipb = ['ABC2b_0243D_K6_LOPA-PAST', 'ABC2b_0016G_M1_LOPA-PABR', 'ABC2b_0138H_M1_LOBR-BRMU',
'ABC2b_0138G_J1_LOPA-PAST', 'ABC2b_0243A_O§_STMA-MACV']
seen = set()
final = []
for item in clipb:
tag = item[6:10] # assuming tags are always at this index
if tag in seen:
item += '\tDUPLICATE' # or '<space>DUPLCATE', as needed
else:
seen.add(tag)
final.append(item)
print(final)
# Output:
['ABC2b_0243D_K6_LOPA-PAST',
'ABC2b_0016G_M1_LOPA-PABR',
'ABC2b_0138H_M1_LOBR-BRMU',
'ABC2b_0138G_J1_LOPA-PAST\tDUPLICATE',
'ABC2b_0243A_O§_STMA-MACV\tDUPLICATE']
</code></pre>
<p>请注意,您不需要预先创建重复标记的列表-这在代码中完成;模糊地改编自<a href="https://docs.python.org/3/library/itertools.html" rel="nofollow noreferrer">https://docs.python.org/3/library/itertools.html</a>的<code>unique_everseen</code>配方</p>