sort_natural¶
- emlib.misc.sort_natural(seq, key=None)[source]¶
sort a string sequence naturally
Sorts the sequence so that ‘item1’ and ‘item2’ are before ‘item10’
- Parameters:
seq (
list
) – the sequence to sortkey (
Optional
[Callable
[[Any
],str
]]) – a function to convert an item in seq to a string
- Return type:
list
Examples
>>> seq = ["e10", "e2", "f", "e1"] >>> sorted(seq) ['e1', 'e10', 'e2', 'f'] >>> sort_natural(seq) ['e1', 'e2', 'e10', 'f']
>>> seq = [(2, "e10"), (10, "e2")] >>> sort_natural(seq, key=lambda tup:tup[1]) [(10, 'e2'), (2, 'e10')]