No body offers lambda?
Try it and work. I come to the answer to this post. I did not find what I like, but I feel depressed: P
l #[['rana', 1, 1], ['pato', 1, 1], ['perro', 1, 1]] map(lambda x:x[0], l).index("pato") #1
Edit to add examples:
l=[['rana', 1, 1], ['pato', 2, 1], ['perro', 1, 1], ['pato', 2, 2], ['pato', 2, 2]]
extract all elements by condition: filter (lambda x: x [0] == "pato", l) # [['pato', 2, 1], ['pato', 2, 2], ['pato', 2, 2]]
extract all elements by condition with index:
>>> filter(lambda x:x[1][0]=="pato", enumerate(l)) [(1, ['pato', 2, 1]), (3, ['pato', 2, 2]), (4, ['pato', 2, 2])] >>> map(lambda x:x[1],_) [['pato', 2, 1], ['pato', 2, 2], ['pato', 2, 2]]
Note: the variable _ only works in the interactive interpreter y normal text file _ requires explicti assign, ie _ = filter (lambda x: x [1] [0] == "pato", enumerate (l))