Iterar em uma string 2 (ou n) caracteres por vez em Python

Hoje cedo eu precisava fazer uma iteração em uma string de 2 caracteres por vez para analisar uma string formatada como"+c-R+D-E" (há algumas letras extras).

Eu acabei com isso, o que funciona, mas parece feio. Acabei comentando o que estava fazendo porque não parecia óbvio. Parece quase pythonic, mas não completamente.

# Might not be exact, but you get the idea, use the step
# parameter of range() and slicing to grab 2 chars at a time
s = "+c-R+D-e"
for op, code in (s[i:i+2] for i in range(0, len(s), 2)):
  print op, code

Existem maneiras melhores / mais limpas de fazer isso?

questionAnswers(12)

yourAnswerToTheQuestion