In K, you'd solve this kind of problem with the "where" (&) operator:
&0 1 0 0 1 1 4 *&0 1 0 0 1 1
Lil doesn't have an independent monadic primitive for this operation; it's folded into the query language:
first extract value where 0=map@value from np
This is a little bulky when you're doing something simple.
When you only need a single result, you could consider forming a dictionary:
((0=map@np)dict np)[1]
It's also possible to perform an equivalent "masking" operation just with arithmetic:
m:0,0,0,1,0 # "one-hot" boolean vector m*keys m # (0,0,0,3,0) sum m*keys m # 3