iterating quickly through list of tuples
python
Solution
Assuming a bit more memory usage is not a problem and if the first item of your tuple is hashable, you can create a dict out of your list of tuples and then looking up the value is as simple as looking up a key from the `dict`. Something like:
dct = dict(tuples)
val = dct.get(key) # None if item not found else the corresponding value
EDIT: To create a reverse mapping, use something like:
revDct = dict((val, key) for (key, val) in tuples)
Problem
I wonder whether there's a quicker and less time consuming way to iterate over a list of tuples, finding the right match. What I do is: ``` # this is a very long list. my_list = [ (old1, new1), (old2, new2), (old3, new3), ... (oldN, newN)] # go through entire list and look for match for j in my_list: if j[0] == VALUE: PAIR_FOUND = True MATCHING_VALUE = j[1] break ``` this code can take quite some time to execute, depending on the number of items in the list. I'm sure there's a better way of doing this.