You can also use distutils.version
module of standard library:
from distutils.version import StrictVersion
versions = ["1.1.2", "1.0.0", "1.3.3", "1.0.12", "1.0.2"]
versions.sort(key=StrictVersion)
Gives you:
['1.0.0', '1.0.2', '1.0.12', '1.1.2', '1.3.3']
It can also handle versions with pre-release tags, for example:
versions = ["1.1", "1.1b1", "1.1a1"]
versions.sort(key=StrictVersion)
Gives you:
["1.1a1", "1.1b1", "1.1"]
Documentation: https://github.com/python/cpython/blob/3.2/Lib/distutils/version.py#L101