[Python-checkins] bpo-35224: Add What's new entry for evaluation order in dict comprehensions (GH-14319)

Pablo Galindo webhook-mailer at python.org
Mon Jun 24 21:42:04 EDT 2019


https://github.com/python/cpython/commit/b51b7137faa22e12c570c70fe0462c662ccd935e
commit: b51b7137faa22e12c570c70fe0462c662ccd935e
branch: master
author: Pablo Galindo <Pablogsal at gmail.com>
committer: GitHub <noreply at github.com>
date: 2019-06-25T02:41:58+01:00
summary:

bpo-35224: Add What's new entry for evaluation order in dict comprehensions (GH-14319)

files:
M Doc/whatsnew/3.8.rst

diff --git a/Doc/whatsnew/3.8.rst b/Doc/whatsnew/3.8.rst
index 1081ef21df13..1177c82f42c9 100644
--- a/Doc/whatsnew/3.8.rst
+++ b/Doc/whatsnew/3.8.rst
@@ -349,6 +349,9 @@ Other Language Changes
   is ``-1``, and a suitable power of that inverse for other negative exponents.
   (Contributed by Mark Dickinson in :issue:`36027`.)
 
+* When dictionary comprehensions are evaluated, the key is now evaluated before
+  the value, as proposed by :pep:`572`.
+
 
 New Modules
 ===========
@@ -1502,6 +1505,11 @@ CPython bytecode changes
   when awaiting a next item in an :keyword:`async for` loop.
   (Contributed by Serhiy Storchaka in :issue:`33041`.)
 
+* The :opcode:`MAP_ADD` now expects the value as the first element in the
+  stack and the key as the second element. This change was made so the key
+  is always evaluated before the value in dictionary comprehensions, as
+  porposed by :pep:`572`. (Contributed by Jörn Heissler in :issue:`35224`.)
+
 
 Demos and Tools
 ---------------



More information about the Python-checkins mailing list