(v)
| 369 | |
| 370 | def _natural_sort_strings(vals, reverse=False): |
| 371 | def key(v): |
| 372 | v_parts = re.split(r"(\d+)", v) |
| 373 | for i in range(len(v_parts)): |
| 374 | try: |
| 375 | v_parts[i] = int(v_parts[i]) |
| 376 | except ValueError: |
| 377 | # not an int |
| 378 | pass |
| 379 | return tuple(v_parts) |
| 380 | |
| 381 | return sorted(vals, key=key, reverse=reverse) |
| 382 |