短いとはいえないが。

import itertools

s = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

def f():
    it = iter(s)
    while 1:
        a = "".join(itertools.islice(it, 3))
        if not a:
            break
        yield a

print list(f())