3.7. index_versorted()

natsort.index_versorted(seq, key=None, reverse=False, as_path=None, alg=0)

Return the list of the indexes used to sort the input sequence of version numbers.

Sorts a sequence of version, but returns a list of sorted the indexes and not the sorted list. This list of indexes can be used to sort multiple lists by the sorted order of the given sequence.

This is a wrapper around index_natsorted(seq, number_type=None).

Parameters:

seq: iterable

The sequence to sort.

key: callable, optional

A key used to determine how to sort each element of the sequence. It is not applied recursively. It should accept a single argument and return a single value.

reverse : {True, False}, optional

Return the list in reversed sorted order. The default is False.

as_path : {True, False}, optional

Depreciated as of version 3.5.0 and will become an undocumented keyword-only argument in 4.0.0. Please use the alg argument for all future development. See ns class documentation for details.

alg : ns enum, optional

This option is used to control which algorithm natsort uses when sorting. For details into these options, please see the ns class documentation. The default is ns.FLOAT.

Returns:

out : tuple

The ordered indexes of the sequence.

Examples

Use index_versorted just like the builtin sorted:

>>> a = ['num4.0.2', 'num3.4.1', 'num3.4.2']
>>> index_versorted(a)
[1, 2, 0]