mirror of
https://github.com/python/cpython.git
synced 2025-12-23 09:19:18 +00:00
gh-105256: What's New note for comprehension over locals() (#106378)
This commit is contained in:
parent
104d7b760f
commit
13aefd175e
1 changed files with 6 additions and 0 deletions
|
|
@ -253,6 +253,12 @@ Inlining does result in a few visible behavior changes:
|
|||
* Calling :func:`locals` inside a comprehension now includes variables
|
||||
from outside the comprehension, and no longer includes the synthetic ``.0``
|
||||
variable for the comprehension "argument".
|
||||
* A comprehension iterating directly over ``locals()`` (e.g. ``[k for k in
|
||||
locals()]``) may see "RuntimeError: dictionary changed size during iteration"
|
||||
when run under tracing (e.g. code coverage measurement). This is the same
|
||||
behavior already seen in e.g. ``for k in locals():``. To avoid the error, first
|
||||
create a list of keys to iterate over: ``keys = list(locals()); [k for k in
|
||||
keys]``.
|
||||
|
||||
Contributed by Carl Meyer and Vladimir Matveev in :pep:`709`.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue