Sorry if this is too simple, but better to start low-level and build up from there. For a three-level system like this, there are a couple approaches. First, each of those states will be represented by a three-dimensional vector. There are a few ways you could define these, starting from the most direct:
from qutip import *
state0 = Qobj([[1],[0],[0]])
gives you a ket with elements 1,0,0. the bra (or adjoint) of that ket is:
state0.dag()
so the outer product |0><0| is written as:
state0 * state0.dag()
Then you can write state1 and state2 with elements 0,1,0 and 0,0,1 in a similar fashion and find the adjoint with the .dag() operator.
There are some shortcuts for three-level systems, such as those described here:
writing s0, s1, and s2 instead of "state0" etc, we can do all this in one line with:
s0, s1, s2 = three_level_basis()
Shorter version sure is easier, but it's important to see what is going on underneath. It's all matrices and vectors :-)
Best,
Andy