What does [:] mean?

andriy picture andriy · May 29, 2011 · Viewed 69.9k times · Source

I'm analyzing some Python code and I don't know what

pop = population[:]

means. Is it something like array lists in Java or like a bi-dimensional array?

Answer

Sven Marnach picture Sven Marnach · May 29, 2011

It is an example of slice notation, and what it does depends on the type of population. If population is a list, this line will create a shallow copy of the list. For an object of type tuple or a str, it will do nothing (the line will do the same without [:]), and for a (say) NumPy array, it will create a new view to the same data.