On Thu, Jan 21, 2010 at 4:03 AM, Paul Melvin <p...@assured-networks.co.uk> wrote:
> The code is at http://python.codepad.org/S1ul2bh7 and the bit I would like > some advice on is how to get the sorted data and where to put it. Generally the code seems a bit disorganized, consider breaking it into functions. There is a fair amount of deadwood you could delete. Also it will be more readable if you move the initialization of variables closer to where they are used. > Currently I use a temporary list to store the data before writing it to > another, is this OK? (lines 45 onwards) for chunk in u.split(searchText): temp.append(chunk) u.split() already returns a sequence, there is no need for this loop. You could just write temp = u.split(searchText) though you might think of a more descriptive name. for item in temp[1:]: temp2 = [] temp2.append(findLink(item)) temp2.append(findTitle(item)) temp2.append(findSize(item)) cleaned.append(temp2) This could be written more concisely without temp2: cleaned.append( [ findLink(item), findTitle(item), findSize(item) ] ) or even put the whole thing into a single list comprehension (though this is perhaps too dense): cleaned = [ [ findLink(item), findTitle(item), findSize(item) ] for item in u.split(searchText)[1:] ] I think I would write it as items = u.split(searchText)[1:] cleaned = [ [ findLink(item), findTitle(item), findSize(item) ] for item in items ] > I want to expand the program to give some output which the user can interact > with, e.g. ‘which of this information do you want me to get?’ and the user > would choose. Does anyone have any tips on this? Can I just use things like > raw_input and lists? That's fine, just separate out the data acquisition from the user input and processing. Kent _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor