Python language basics 40: negative indexers for collections
August 22, 2015 Leave a comment
Introduction
In the previous post we looked at string formatting at a very basic level. We saw some elementary examples of the format function which can be applied to a given format and one or more input variables. We discussed the role of placeholder variables in the format and how they can be used different ways.
In this post we’ll look at negative indexes for collections.
Negative indexes
We’ve seen the role of indexers for collections. You can access a certain element in a collection with an index, like here:
cities = ["Stockholm", "Budapest", "Berlin", "Paris", "Birmingham", "Zürich"] third = cities[2]
Recall that indexes are 0-based, therefore the variable ‘third’ evaluates to Berlin.
What if you want to get at the last element without bothering about the length of the collection? That’s easy to achieve in Python with negative indexers. The index -1 will retrieve the last element in the collection:
last = cities[-1]
‘last’ will be Zürich. The index -1 means the first element from the end of the collection. Consequently -2 means the second, -3 the third element from the end and so on.
Notice that positive indexing is 0-based, i.e. the index 0 means the first element from the front. Whereas negative indexing is 1-based, i.e. the first element from the tail won’t be -0 but -1.
In the next post we’ll look at ways to insert an element into a list.
Read all Python-related posts on this blog here.