If expression can be not so simple as your sample you can use RPN - reverse polish notation
If your expression is pretty simple(only base ops and values less then 10) and you only need to count than you can use something like this i guess:
ops = '+-*/'
operationsCount= sum(expr.count(op) for op in ops)
operandsCount = len(expr) - operationsCount
Or you can use this:
def get_cnt(expr):
ops = '+-*/'
res = [expr]
for op in ops:
tmp = []
for x in expr:
tmp.extend(x.split(op))
res = tmp[:]
return len(res), sum(expr.count(op) for op in ops)
Now you have number of operators and operands - and it is quite easily to split row correctly on ops/opd and to calculate expression.