Truncating a string in python

Mike picture Mike · Apr 5, 2012 · Viewed 77.5k times · Source

Someone gave me a syntax to truncate a string as follows:

string = "My Text String"

print string [0:3] # This is just an example

I'm not sure what this is called (the string[0:3] syntax), so I've had a hard time trying to look it up on the internet and understand how it works. So far I think it works like this:

  • string[0:3] # returns the first 3 characters in the string
  • string[0:-3] # will return the last 3 characters of the string
  • string[3:-3] # seems to truncate the first 3 characters and the last 3 characters
  • string[1:0] # I returns 2 single quotes....not sure what this is doing
  • string[-1:1] # same as the last one

Anyways, there's probably a few other examples that I can add, but my point is that I'm new to this functionality and I'm wondering what it's called and where I can find more information on this. I'm sure I'm just missing a good reference somewhere.

Thanks for any suggestions, Mike

Answer

Uku Loskit picture Uku Loskit · Apr 5, 2012

It's called a slice. From the python documentation under Common Sequence Operations:

s[i:j]

The slice of s from i to j is defined as the sequence of items with index k such that i <= k < j. If i or j is greater than len(s), use len(s). If i is omitted or None, use 0. If j is omitted or None, use len(s). If i is greater than or equal to j, the slice is empty.

source