This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author r.david.murray
Recipients ksqsf, r.david.murray
Date 2017-08-06.14:07:19
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1502028439.19.0.677358935414.issue31126@psf.upfronthosting.co.za>
In-reply-to
Content
The behavior is consistent:

>>> a = [1, 2]
>>> b = [3, 4]
>>> [(a, b) for a in a for b in b]
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 1, in <listcomp>
UnboundLocalError: local variable 'b' referenced before assignment


I'm not sure why it is only the nested loop that raises the error (https://docs.python.org/3/reference/expressions.html#displays-for-lists-sets-and-dictionaries seems to imply it should raise for both)

By the way, the actual result of your comprehesion would be {"a": 2, "b" 2}.
History
Date User Action Args
2017-08-06 14:07:19r.david.murraysetrecipients: + r.david.murray, ksqsf
2017-08-06 14:07:19r.david.murraysetmessageid: <1502028439.19.0.677358935414.issue31126@psf.upfronthosting.co.za>
2017-08-06 14:07:19r.david.murraylinkissue31126 messages
2017-08-06 14:07:19r.david.murraycreate