Поиск с использованием словарей часто выполняется быстрее, поэтому вы можете создать словарь, например, так:
list_dct = dict([ [y, [i,x,y]] for i, (x, y) in enumerate(mylist)])
#=> {'c': [0, 1276, 'c'], 'b': [1, 910, 'b'], 'o': [2, 819, 'o'], 'z': [3, 759, 'z'], 'l': [4, 699, 'l']}
Таким образом, вы можете получить доступ к индексу как:
list_dct['o'][0] #=> 2
Если вы можете избавиться от индекса, вы можете просто преобразовать свой список в dict, а затем получить доступ к букве, чтобы получить целое число:
list_dct = dict([ [y,x] for i, (x, y) in enumerate(mylist)])
list_dct #=> {'c': 1276, 'b': 910, 'o': 819, 'z': 759, 'l': 699}
list_dct['c'] #=> 1276
Помните, что дублированные ключи в словаряхне допускается.