这个怎么样?
>>> tuple_list = [("pineapple", 5), ("cherry", 7), ("kumquat", 3), ("plum", 11)]>>> [x for x, y in enumerate(tuple_list) if y[1] == 7][1]>>> [x for x, y in enumerate(tuple_list) if y[0] == 'kumquat'][2]
正如评论中指出的那样,这将获得所有匹配项。要获得第一个,您可以执行以下 *** 作:
>>> [y[0] for y in tuple_list].index('kumquat')2
评论中对所有发布的解决方案之间的速度差异进行了很好的讨论。我可能有一点偏见,但我个人会坚持一言以蔽之,因为相对于创建函数和导入模块来解决这个问题,我们谈论的速度是微不足道的,但是如果您打算大量这样做您可能希望查看提供的其他答案,因为它们比我提供的要快。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)