comparison numerics/sort.py @ 134:b6242f916cef

stub; needs a test
author Jeff Hammel <k0scist@gmail.com>
date Tue, 17 Mar 2015 11:38:43 -0700
parents
children 12649a88545c
comparison
equal deleted inserted replaced
133:8b120c7f0cf9 134:b6242f916cef
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3
4 """
5 sort columned data
6 """
7
8 # module globals
9 __all__ = ['Sorter']
10
11 class Sorter(object):
12 """
13 sorter for columned data
14 """
15
16 def __init__(self, *indices):
17 """
18 indices -- 2-tuple of (index, forward)
19 where forward should be True or False
20 """
21 self.indices = indices
22
23 def __call__(self, rows):
24 return sorted(rows, key=self.key)
25
26 def key(self, row):
27 retval = []
28 for index, forward in self.indices:
29 value = row[index]
30 if not forward:
31 value = -value
32 retval.append(value)
33 return tuple(retval)