best way to determine sequence ordering?
Justin Azoff
justin.azoff at gmail.com
Sat Apr 29 19:47:34 EDT 2006
John Salerno wrote:
> If I want to make a list of four items, e.g. L = ['C', 'A', 'D', 'B'],
> and then figure out if a certain element precedes another element, what
> would be the best way to do that?
>
> Looking at the built-in list functions, I thought I could do something like:
>
> if L.index('A') < L.index('D'):
> # do some stuff
This actually performs pretty well since list.index is implemented in
C.
The obvious (to me) implementation of:
def before(lst, a, b):
for x in lst:
if x == a:
return True
if x == b:
return False
runs about 10-50 times faster than the double index method if I use
psyco. Without psyco, it ends up being faster for the cases where a or
b appears early on in the list, and the other appears towards the end.
More information about the Python-list
mailing list