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 或类似的“内联”方法来实现该一般结果?我想我可以编写自己的类和方法,但如果 Python 已经有办法做到这一点,我不想重新发明轮子。