Считывание строки по три элемента python в цикле
Есть строка, например:
rna = CCGUCUAAGGGGGAUCUGGGCGGGCGUGGUACCAGUCCGUACGGGGAGGAGUAGCGACCCGUGUCGGGUCUCC
С помощью цикла for нужно брать по тройке букв из строки и проверять их далее
for i in rna[:3:]:
print(i)
делая по инструкции в интернете не получается, функцией split также не получилось
должно быть по типу: i = CCG, i = UCU и т.д.
Ответы (3 шт):
Автор решения: Inventor
→ Ссылка
Как насчёт такого?
rna = 'SomeText'
i = 0
while i <= len(rna) - 2:
print(rna[i:i+3])
i += 3
Возможно есть более элегантные решения, но это быстро доступно и понятно =)
Автор решения: entithat
→ Ссылка
Первый вариант:
str = 'helloworld'
list(map(''.join, zip(*[iter(s)] * 3)))
P.S. Если строка не будет делиться ровно на три части, то последняя часть (с одной или двумя буквами) будет удаляться. Чтобы её не удалять, можно написать так:
import itertools
list(map(''.join, itertools.zip_longest(*[iter(str)] * 3, fillvalue='')))
Второй вариант:
import textwrap
str = 'helloworld'
textwrap.wrap(str, 3)
Автор решения: CrazyElf
→ Ссылка
С циклом можно вот так коротко сделать, ведь у range есть третий необязательный параметр шаг:
for i in range(0, len(rna), 3):
print(rna[i:i+3])