Ich möchte eine Suche nach tuple of tuples
für eine bestimmte Zeichenfolge und geben den Index des übergeordneten Tupels zurück. Ich scheine häufig auf Variationen dieser Art von Suche zu stoßen.
Was ist der pythonischste Weg, dies zu tun?
I.E:
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
Ich könnte dies in eine kleine Dienstprogrammfunktion verallgemeinern, die eine iterable, einen Index (ich habe hart codiert 0
im Beispiel) und einen Suchwert. Es tut den Trick, aber ich habe diese Idee, dass es wahrscheinlich ein Einzeiler für es ;)
I.E:
def pluck(iterable, key, value):
for index, item in enumerate(iterable):
if item[key] == value:
return index
return None