This is my best guess.
I think that it might help to look at it like you’re making cuts in a piece of rope. Each split is a cut. So in the case of “mississippi”, “iss” makes two cuts. if you cut a piece of rope twice you will have three pieces. In the case of “apple” and “pp”, the rope will be cut once, so two pieces in this case.
How does Python generate an empty element in the case of “mississippi” and “iss”? You got me. but in makes sense in the rope analog.
Maybe someone with a better understanding of Python’s inner workings can shed some light on the subject.
Moderator Note: this post was originally in response to this post - which is now moved to the bottom of this thread for posterity