Let's first look at use cases. Probably the most common use cases for slicing are "get the first n items" and "get the next n items starting at i" (the first is a special case of that for i == the first index). It would be nice if both of these could be expressed as without awkward +1 or -1 compensations.
Using 0-based indexing, half-open intervals, and suitable defaults (as Python ended up having), they are beautiful: a[:n] and a[i:i+n]; the former is long for a[0:n].
Using 1-based indexing, if you want a[:n] to mean the first n elements, you either have to use closed intervals or you can use a slice notation that uses start and length as the slice parameters. Using half-open intervals just isn't very elegant when combined with 1-based indexing. Using closed intervals, you'd have to write a[i:i+n-1] for the n items starting at i. So perhaps using the slice length would be more elegant with 1-based indexing? Then you could write a[i:n]. And this is in fact what ABC did -- it used a different notation so you could write a@i|n.(See http://homepages.cwi.nl/~steven/abc/qr.html#EXPRESSIONS.)
But how does the index:length convention work out for other use cases? TBH this is where my memory gets fuzzy, but I think I was swayed by the elegance of half-open intervals. Especially the invariant that when two slices are adjacent, the first slice's end index is the second slice's start index is just too beautiful to ignore. For example, suppose you split a string into three parts at indices i and j -- the parts would be a[:i], a[i:j], and a[j:].
So that's why Python uses 0-based indexing.
Google I/O 2012: Integrating Google+ Into Mobile Apps
Create a more engaging and personalized experience for your users by incorporating aspects of Google+ into your mobile app. Learn how your u
Google I/O 2012: Getting More from the Google+ Platform
You've implemented some Google+ platform features and now you want more. Learn the how, why, and measurement of increasing engagement on you
Version and availability : Getting started - Google Mobile Help
Version This topic describes Gmail version 2.3.5 for Android version 2.2 (Froyo) or 2.3 (Gingerbread). You can determine your version of Gm
'2012': Genki Sudo's World Order Puts Out New Track With Trademark Robot...
Former mixed-martial-arts master Genki Sudo once again applied his unconventional moves to his band's latest music video, "2012." World Orde
Global Warming's Terrifying New Math | Politics News | Rolling Stone
Three simple numbers that add up to global catastrophe - and that make clear who the real enemy is
Marinette Marine Launches the Reuben Lasker Research Ship [VIDEO]
YouTube Preview Image. This past weekend, Marinette Marine Corporation (MMC), a Fincantieri company, launched the Reuben Lasker, a fisheries
Exploring “Adjacent Markets”, Teekay Floats Entry In Offshore Wind Insta...
At it's annual Investors Day event held in New York City Monday, Teekay Corporation announced its ambitions to enter the offshore wind indus