Раньше сегодня мне нужно было перебирать строку по 2 символа за раз для синтаксического анализа строки, отформатированной как "+c-R+D-E"
(есть несколько дополнительных букв).
Я закончил с этим, что работает, но выглядит уродливо. Я закончил тем, что комментировал, что он делает, потому что это казалось неочевидным. Это почти кажется пифоническим, но не совсем.
# 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
Есть ли какие-то лучшие/более чистые способы сделать это?