Ad
  • Default User Avatar
  • Default User Avatar

    d>''<b

    is a double thumbs-up!

  • Default User Avatar

    @cahyareza

    if x < len(s) - 1
    is the same as:
    if len(s) - x > 1
    meaning that the cursor (x) has to be before (<) the last position (len(s) - 1), in other words at the penultimate position at most, and in this case you want a slice of 2 (s[x:x+2]);
    otherwise, if your cursor is at the last position, you want the last character plus an underscore (s[-1] + "_").
    You are safe since you're stepping 2 by 2 (in range(0, len(s), >>2<<)).

    Also remember that positions start with 0, so each one is "position - 1" (the first one is "1 - 1 = 0", the second one is "2 - 1 = 1", ..., hence the last one is len(s) - 1).

  • Default User Avatar

    I actually love this one as it fits better in a functional programming mindset.