Dzielenie stringa na fragmenty o określinej długości

0

To taki bardziej code golf niż poważne pytanie.

Niedawno potrzebowałem w pythonie podzielić string na fragmenty o długości 2 (w celu parsowania hex stringów w rodzaju A6B32D66A0 do listy bajtów). Oczywiście pierwszy pomysł - rozwiązanie 100% imperatywne (pętla for, etc).
Ale byłem ciekawy jak można to lepiej rozwiązać. W bibliotece standardowej nie znalazłem gotowca (a może ślepy jestem?).

Przechodząc do rzeczy:

  • mój najlepszy pomysł na dzielenie:
    map("".join,zip(a[::2],a[1::2]))

  • mój najlepszy pomysł na dzielenie i parsowanie:
    map((lambda x:int("".join(x))),zip(a[::2],a[1::2]))

Ale że pewnie są tu jacyś python-hackerzy (bo ja w sumie nieszczególnie w pythonie piszę...) to pewnie znajdą się lepsze (tzn. krótsze) rozwiązania :>.

2

18: re.findall("..",a)

Nie działa dla nieparzystej liczby znaków, ale w hashach tak nie powinno być.

0

@Zjarek - dokładnie o coś takiego mi chodziło (zapomniałem zresztą napisać że nieparzystymi napisami się nie trzeba przejmować). Krócej się już chyba nie da :>

1 użytkowników online, w tym zalogowanych: 0, gości: 1