3.6. index_natsorted()
¶
-
natsort.
index_natsorted
(seq, key=None, number_type=<type 'float'>, signed=None, exp=None, reverse=False, as_path=None, alg=0)¶ Return the list of the indexes used to sort the input sequence.
Sorts a sequence naturally, 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.
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.
number_type : {None, float, int}, 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.signed : {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.exp : {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.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.
See also
Examples
Use index_natsorted if you want to sort multiple lists by the sorted order of one list:
>>> a = ['num3', 'num5', 'num2'] >>> b = ['foo', 'bar', 'baz'] >>> index = index_natsorted(a) >>> index [2, 0, 1] >>> # Sort both lists by the sort order of a >>> order_by_index(a, index) [u'num2', u'num3', u'num5'] >>> order_by_index(b, index) [u'baz', u'foo', u'bar']