こんにちは、私はプログラミングが初めてで、Python を学びたいと思っています。リストで最も冗長なアイテムを返すコードに取り組んでいます。複数ある場合は、すべてを返す必要があります。元。
List = ['a','b','c','b','d','a'] #then it should return both a and b.
List = ['a','a','b','b','c','c','d'] #then it should return a b and c.
List = ['a','a','a','b','b','b','c','c','d','d','d'] #then it should return a b and d.
注: リストで最も一般的な要素がわからないため、最も一般的な要素を見つける必要があり、複数ある場合はすべてを返す必要があります。リストに数字やその他の文字列が要素として含まれている場合、コードも機能する必要があります
進め方がわかりません。私は少し助けを使うことができます。
プログラム全体は次のとおりです。
from collections import Counter
def redundant(List):
c = Counter(List)
maximum = c.most_common()[0][1]
return [k for k, v in c.items()if v == maximum]
def find_kmers(DNA_STRING, k):
length = len(DNA_STRING)
a = 0
List_1 = []
string_1 = ""
while a <= length - k:
string_1 = DNA_STRING[a:a+k]
List_1.append(string_1)
a = a + 1
redundant(List_1)
このプログラムは、DNA ストリングと kmer の長さを取得し、その DNA ストリングに存在するその長さの kemer を見つける必要があります。
サンプル入力:
ACGTTGCATGTCGCATGATGCATGAGAGCT
4
サンプル出力:
CATG GCAT