擅长:python、mysql、java
<p><code>collections.Counter</code>使这个过程变得快速而琐碎:</p>
<pre><code>from collections import Counter
# Using other answer's listOfGenes for convenience
listOfGenes = "RGN RBM10 ARAF ZNF630 FTSJ1 SLC35A2 SLC35A2 SLC35A2 MAGIX DGKK XAGE1B XAGE1B SMC1A FAM120C CXorf49 CXorf49B CHIC1 ABCB7 PBDC1 FGF16 ATP7A CYLC1 TSPAN6 BTK BTK TCEAL4 TEX13A FRMPD3 PRPS1 COL4A6 COL4A6 COL4A6".split()
# Actual work is a one-liner; count them all, keep those with count of 2 or more
duplicates = [gene for gene, cnt in Counter(listOfGenes).items() if cnt >= 2]
</code></pre>
<p>在cpython3.6和更高版本(以及所有Python解释器一旦达到3.7)中提供插入顺序<code>dict</code>,则<code>duplicates</code><code>list</code>将按<code>listOfGenes</code>中第一次出现的顺序排序;在3.5和更早版本中,它将具有任意顺序。你知道吗</p>