One of the most elegant ways to do this is to use a generator:
>>> list = ['ADMISSION' ,'Colace','100','mg', 'b.i.d.' , 'insulin','Lente','12']
>>> next(i for i,v in enumerate(list) if v.lower() == 'mg')
3
The above code creates a generator that gives the index of the next case-insensitive appearance mgin the list, and then calls next()once to get the first index. If there were several entries in the list mg, a multiple call next()would give them everything.
, ; , .