arraysort.py
by
admin
—
last modified
2007-07-09 01:00
http://www.eksperten.dk/spm/786765
Size 1.3 kB - File type text/python-sourceFile contents
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""Sort a 2 dimensional array"""
import random
from pprint import pprint
def printTabel( Tabel, Fra , Til, Markeret ):
Mark = { True : '<td bgcolor="FFFFCC">', False:'<td>' }
print '<table border="1" cellspacing="0">'
for raekke in Tabel[ Fra: Til ]:
print "<tr>"
for colData in raekke:
print Mark.get( Markeret == colData ), colData, '</td>'
print "</tr>"
print "</table>"
def DoubleSort( Tabel, column, Reverse=False ):
def colCompare( x, y ):
return cmp( y[ column ], x[ column ] )
Tabel.sort( cmp=colCompare )
if __name__ == "__main__":
print "Content-type: text/html\n"
print "<html>"
print '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />'
print 'Se og hent kildekoden <a href="http://www.databassen.dk:8090/bauerdata/python-program-eksempler/arraysort-source">her</a>'
print "<pre># Opret en dummy to dimensionel array med tilfældige tal."
Rnd = range( -50, 50 )
ToDim = [ [ y for y in [ random.choice( Rnd ) for x in range(5) ] ] for z in range(10) ]
print "Før sortering"
pprint( ToDim )
# Sorter tabellen
DoubleSort( ToDim, 3 , Reverse=True )
print "Efter sortering"
pprint( ToDim )
print "</pre>"
printTabel( ToDim, 0, 3, 40 )
print "</html>"
Click here to get the file