In lisp you can say:
(setf (aref a 1) 5)
In perl you can say:
substr( $string, $start, $stop ) =~ s/a/b/g
In short, no.
However, if you define __setitem__, you can assign to a subscript, e.g.
foo['subscript'] = 7
And you could return foo (and also the subscript, if you wanted) from a function.
container, subscript = whatevs()
container[subscript] = 7
or, in one line:
operator.setitem(*(whatevs()+(7,)))
See operator.