Hi Gary,
I think you have a few options.
1) Don't pass any e_ops to mesolve and just calculate what you need to
afterwards from result.states.
2) Pass functions f(t, state) to e_ops and let mesolve store their
results in result.expect.
The QobjEvo class allows one to construct time-dependent Qobj-like
objects in QuTiP --
https://qutip.org/docs/latest/apidoc/classes.html#qutip.QobjEvo -- and
these may be useful regardless of which option you choose. In
particular QobjEvo instances have a `.expect(t, state)` method.
Yours sincerely,
Simon Cross