3 回答

TA贡献1858条经验 获得超8个赞
你可以这样做:
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(" ")
genesOccurences = {}
for gene in listOfGenes:
occurence = genesOccurences.get(gene, 0)
genesOccurences[gene] = occurence + 1
print(genesOccurences) # will print a dictionary with every gene and how often it is occurring
filteredGeneList = [ key for key in genesOccurences if genesOccurences[key] > 1 ]
print(filteredGeneList) # will print only those genes occurring > 1 times.

TA贡献1821条经验 获得超4个赞
时间复杂度 = O(n)
空间复杂度 = O(n)
代码:
def get_duplicates(array):
seen = set([])
results = set([])
for element in array:
if element in seen:
results.add(element)
else:
seen.add(element)
return list(results)
input_array = "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"
input_array = input_array.split()
duplicates = get_duplicates(input_array)
print(duplicates)
输出:
['COL4A6', 'SLC35A2', 'XAGE1B', 'BTK']
添加回答
举报