On May 9, 5:10 am, [EMAIL PROTECTED] wrote: > I have a dictionary of which i'm itervalues'ing through, and i'll be > performing some logic on a particular iteration when a condition is > met with trusty .startswith('foo'). I need to grab the previous > iteration if this condition is met. I can do something with an extra > var to hold every iteration while iterating, but this is hacky and not > elegant.
Why is that so terrible? previous = None for key in mydict: if key.starswith('foo') and previous is not None: # ...do stuff... previous = key Doesn't seem too ugly to me. > Is there a mechanism whereby I can just index the dict value > subscripts like in an array? I could just rewind by 1 if so. You can't rely on the keys in a dictionary being in any specific order. But if you want a list of the keys you can just call mydict.keys() which will give a copy of the dictionary's keys in a list. Then you can iterate that and use it however you would use any other list. Note that it's a copy though. It might help if you better explained exactly what you need to do. -- http://mail.python.org/mailman/listinfo/python-list