What you want I guess is to read first all lines of the file into a string as you did, and then let the split method split it based on newlines only - see example below.
Then you use split again to put all elements of one line into another list - split it on commas. Now you can define sortfunctions for all columns you want to sort, e.g. like below - and use those to compare elements. You get a script like: -#!/usr/bin/env python - -def cmp_index(a, b, ndx): - if a[ndx] < b[ndx]: - return -1 - elif a[ndx] > b[ndx]: - return 1 - else: - return 0 - -def cmp_0(a, b): - return cmp_index(a, b, 0) - -def cmp_1(a, b): - return cmp_index(a, b, 1) - -s = 'Kikker en Eend,Max Veldhuis\nDikkie Dik,Jet Boeke\nRuminations on C++,Andrew Koenig & Barbara Moo' -s = s.split('\n') -l = [] -for i in s: - l.append(i.split(',')) - -l.sort(cmp_0) -print l -l.sort(cmp_1) -print l with output like: [EMAIL PROTECTED]:~ $ ./test.py [['Dikkie Dik', 'Jet Boeke'], ['Kikker en Eend', 'Max Veldhuis'], ['Ruminations on C++', 'Andrew Koenig & Barbara Moo']] [['Ruminations on C++', 'Andrew Koenig & Barbara Moo'], ['Dikkie Dik', 'Jet Boeke'], ['Kikker en Eend', 'Max Veldhuis']] [EMAIL PROTECTED]:~ $ -- http://mail.python.org/mailman/listinfo/python-list