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 Andy_kl
Recipients Andy_kl
Date 2020-07-06.00:31:02
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1593995463.39.0.732635658928.issue41216@roundup.psfhosted.org>
In-reply-to
Content
I'm not sure is it a bug or a fecature of comprehensions or eval, but intuitively it seems like it should work.

def foo(baz):
    return eval("[baz for _ in range(10)]")

foo(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in foo
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <listcomp>
NameError: name 'baz' is not defined

def bar(baz):
    return eval("{i: baz for i in range(10)}")

bar(3)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in bar
  File "<string>", line 1, in <module>
  File "<string>", line 1, in <dictcomp>
NameError: name 'baz' is not defined
History
Date User Action Args
2020-07-06 00:31:03Andy_klsetrecipients: + Andy_kl
2020-07-06 00:31:03Andy_klsetmessageid: <1593995463.39.0.732635658928.issue41216@roundup.psfhosted.org>
2020-07-06 00:31:03Andy_kllinkissue41216 messages
2020-07-06 00:31:02Andy_klcreate