The standard sorting in Python depends on a comparison operator. A quick and easy comparison operator that Python uses for strings is lexicographic ordering:
http://en.wikipedia.org/wiki/Lexicographical_order The quick and dirty rule is: dictionary order, with each character consistently treated as a character. As you note, this doesn't "look" right when we're comparing strings with numbers. That's a common problem. Since it's not immediately clear from the computer's point of view what to do here, Python has no policy that favors humans. To make comparison work the way you want it to, you need to write it explicitly, as it does not come built-in. See: http://www.codinghorror.com/blog/2007/12/sorting-for-humans-natural-sort-order.html http://stackoverflow.com/questions/4836710/does-python-have-a-built-in-function-for-string-natural-sort _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor