4.6. index_natsorted()
¶
-
natsort.
index_natsorted
(seq, key=None, reverse=False, alg=0, **_kwargs)¶ 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.
- reverse ({True, False}, optional) – Return the list in reversed sorted order. The default is False.
- 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.INT.
Returns: out – The ordered indexes of the sequence.
Return type: 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) ['num2', 'num3', 'num5'] >>> order_by_index(b, index) ['baz', 'foo', 'bar']