Iteruj po łańcuchu 2 (lub n) znaków w Pythonie naraz

Wcześniej dzisiaj musiałem wykonać iterację ciągu 2 znaków naraz, aby przetworzyć łańcuch sformatowany w taki sposób"+c-R+D-E" (jest kilka dodatkowych liter).

Skończyło się na tym, co działa, ale wygląda brzydko. Skończyło się na tym, że komentowałem to, co robi, ponieważ wydawało się to nieoczywiste. Wydaje się prawie pytoniczny, ale nie całkiem.

# 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

Czy są jakieś lepsze / czystsze sposoby, aby to zrobić?

questionAnswers(12)

yourAnswerToTheQuestion