[docs] [issue26020] set_display evaluation order doesn't match documented behaviour
Hamish Campbell
report at bugs.python.org
Tue Jan 5 21:42:21 EST 2016
New submission from Hamish Campbell:
It looks like the behaviour of set displays do not match behaviour in some cases. The documentation states:
"A set display yields a new mutable set object, the contents being specified by either a sequence of expressions or a comprehension. When a comma-separated list of expressions is supplied, its elements are evaluated from left to right and added to the set object. When a comprehension is supplied, the set is constructed from the elements resulting from the comprehension."
Note the following:
>>> foo = { True, 1 }
>>> print(foo)
{1}
However, if we add elements 'left to right':
>>> foo = set()
>>> foo.add(True)
>>> foo.add(1)
>>> print(foo)
{True}
Note that similar documentation for dict displays produces the expected result.
"If a comma-separated sequence of key/datum pairs is given, they are evaluated from left to right to define the entries of the dictionary: each key object is used as a key into the dictionary to store the corresponding datum. This means that you can specify the same key multiple times in the key/datum list, and the final dictionary’s value for that key will be the last one given."
>>> foo = {}
>>> foo[True] = 'bar'
>>> foo[1] = 'baz'
>>> print(foo)
{True: 'baz'}
Which matches the dict display construction:
>>> foo = { True: 'bar', 1: 'baz'}
>>> print(foo)
{True: 'baz'}
Note that I've tagged this as a documentation bug, but it seems like the documentation might be the preferred implementation.
----------
assignee: docs at python
components: Documentation
messages: 257579
nosy: Hamish Campbell, docs at python
priority: normal
severity: normal
status: open
title: set_display evaluation order doesn't match documented behaviour
versions: Python 2.7, Python 3.2, Python 3.3, Python 3.4, Python 3.5, Python 3.6
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue26020>
_______________________________________
More information about the docs
mailing list