Тип списка Python имеет метод index(), который принимает один параметр и возвращает индекс первого элемента в списке, соответствующем параметру. Например:
>>> some_list = ["apple", "pear", "banana", "grape"]
>>> some_list.index("pear")
1
>>> some_list.index("grape")
3
Есть ли изящный (идиоматический) способ распространить его на списки сложных объектов, например кортежи? В идеале я хотел бы сделать что-то вроде этого:
>>> tuple_list = [("pineapple", 5), ("cherry", 7), ("kumquat", 3), ("plum", 11)]
>>> some_list.getIndexOfTuple(1, 7)
1
>>> some_list.getIndexOfTuple(0, "kumquat")
2
getIndexOfTuple() - это всего лишь гипотетический метод, который принимает подиндекс и значение, а затем возвращает индекс элемента списка с заданным значением в этом подиндексе. Я надеюсь, что
Есть ли какой-то способ достичь этого общего результата, используя списки или lambas или что-то вроде "in-line"? Я думаю, что я мог бы написать свой собственный класс и метод, но я не хочу изобретать колесо, если у Python уже есть способ сделать это.