Привет Я новичок в программировании и хочу изучить python. Я работаю над кодом, который должен возвращать элементы, которые являются наиболее избыточными в списке. Если их больше 1, то он должен вернуть все. Пример.Все общие элементы, присутствующие в списке 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)
Эта программа должна принимать строку ДНК и длину kmer и найти то, что являются Кемерс той длины, которые присутствуют в этой строке ДНК.
Пример ввод:
ACGTTGCATGTCGCATGATGCATGAGAGCT
4
Пример вывод:
CATG GCAT
Ты ничего от 'find_kmers' функции не возвращаются, используйте:' (List_1) ' –
да, спасибо, он сделал трюк – user2954438
Просто для информации, если мне нужно ввести очень длинную строку в DNA_strin g как я могу это сделать? Строки ДНК очень большие, самые маленькие были бы около миллиона символов. Я использую канал или есть другие способы работы с длинной символьной строкой. – user2954438