Path to this page:
./
textproc/py-natsort,
Natural sorting for python
Branch: pkgsrc-2020Q4,
Version: 7.1.0,
Package name: py38-natsort-7.1.0,
Maintainer: kamelderouicheWhen you try to sort a list of strings that contain numbers, the
normal python sort algorithm sorts lexicographically, so you might
not get the results that you expect:
>>> a = ['a2', 'a9', 'a1', 'a4', 'a10']
>>> sorted(a)
['a1', 'a10', 'a2', 'a4', 'a9']
Notice that it has the order ('1', '10', '2') - this is because the
list is being sorted in lexicographical order, which sorts numbers
like you would letters (i.e. 'b', 'ba', 'c').
natsort provides a function natsorted that helps sort lists
"naturally", either as real numbers (i.e. signed/unsigned floats
or ints), or as versions. Using natsorted is simple:
>>> from natsort import natsorted
>>> a = ['a2', 'a9', 'a1', 'a4', 'a10']
>>> natsorted(a)
['a1', 'a2', 'a4', 'a9', 'a10']
natsorted identifies numbers anywhere in a string and sorts them
naturally.
Master sites:
SHA1: 0a6617470578dd5bd5e801f45f05c5f9504afff8
RMD160: 14615ff3aa7259adce38632efbbb34885bb54916
Filesize: 140.17 KB
Version history: (Expand)
- (2021-01-03) Package added to pkgsrc.se, version py38-natsort-7.1.0 (created)