But you don't give any reason why you'd want to do that. Why are you
using subscript notation rather than a simple function call?
Good point. Consider
>>> def f(*argv): pass
>>> d = dict()
Now compare
>>> f(1, 2) = 3
SyntaxError: can't assign to function call
>>> d[1, 2] = 3
>>> d[1, 2]
3
Item assignment (ie __setitem__) is the one thing that a function call can't do. If we want keywords in our __getitem__ and so on commands, then one route for item assignment is to allow
>>> d[1, 2, a=3, b=4] = 5
as valid syntax.
By the way, another route is to use a simple function call, like so
>>> d[o(1, 2, a=3, b=4)] = 5
which is already possible today. Some of us don't like this route.
--
Jonathan