Apologies for interrupting the vital off-topic discussion, but I have a real Python question to ask.
I'm doing something that needs to scan a dictionary for elements that have a particular beginning and a numeric tail, and turn them into a single list with some processing. I have a function parse_kwdlist() which takes a string (the dictionary's value) and returns the content I want out of it, so I'm wondering what the most efficient and Pythonic way to do this is. My first draft looks something like this. The input dictionary is called dct, the output list is lst. lst=[] for i in xrange(1,10000000): # arbitrary top, don't like this try: lst.append(parse_kwdlist(dct["Keyword%d"%i])) except KeyError: break I'm wondering two things. One, is there a way to make an xrange object and leave the top off? (Sounds like I'm risking the numbers evaporating or something.) And two, can the entire thing be turned into a list comprehension or something? Generally any construct with a for loop that appends to a list is begging to become a list comp, but I can't see how to do that when the input comes from a dictionary. In the words of Adam Savage: "Am I about to feel really, really stupid?" Thanks in advance for help... even if it is just "hey you idiot, you forgot about X"! Chris Angelico -- http://mail.python.org/mailman/listinfo/python-list