我想在一个由元组嵌套而成的 元组
中搜索特定的字符串,并返回父元组的索引。我似乎经常遇到这种搜索的变体。
什么是最符合Python风格的方法?
例如:
derp = (('Cat','Pet'),('Dog','Pet'),('Spock','Vulcan'))
i = None
for index, item in enumerate(derp):
if item[0] == 'Spock':
i = index
break
>>>print i
2
我可以将这个过程概括为一个小实用程序函数,该函数需要传入一个可迭代对象、一个索引值(在示例中我硬编码了
0
),以及要搜索的值。虽然这个函数能够完成任务,但是我认为可能有一种更简单的方法;)例如:
def pluck(iterable, key, value):
for index, item in enumerate(iterable):
if item[key] == value:
return index
return None