[Python-Dev] Dictionary evaluation order (original) (raw)

Guido van Rossum guido@python.org
Tue, 26 Nov 2002 01:40:06 -0500


I was just looking at the bug

[#448679] Left to right It mentions that code like that {f1():f2(), f3():f4()} Will call these functions in the order f2, f1, f4, f3. What should we do about it? Tim mentions that "When [Tim] asked Guido about that some years ago, he agreed it was a bug.". Is it too late to fix it, or is it still a desirable fix?

Hm, there are other situations where it's not so easy to get strict L2R evaluation, e.g.

a = {} a[f1()] = f2()

It's rather natural to evaluate the RHS first in assignments. Since the dict display is a thinly veiled assignment, I'm not sure it's worth fixing this in the language definition. What does Jython do?

--Guido van Rossum (home page: http://www.python.org/~guido/)