natural_sort_key

sbpy.data.natural_sort_key(s)[source]

List sort keys considering strings of numbers as integers.

Intended to be used with list.sort or the sorted built-in function.

Parameters:
sstring

String to parse into keys.

Returns:
keystuple

Keys for sorting.

Examples

>>> from sbpy.data.names import natural_sort_key
>>> comets = ['9P/Tempel 1',
...           '101P/Chernykh',
...           '10P/Tempel 2',
...           '2P/Encke']
>>> sorted(comets)
['101P/Chernykh', '10P/Tempel 2', '2P/Encke', '9P/Tempel 1']
>>> sorted(comets, key=natural_sort_key)
['2P/Encke', '9P/Tempel 1', '10P/Tempel 2', '101P/Chernykh']