Считывание строки по три элемента 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])
→ Ссылка