This question already has an answer here:
- Converting a list to a set changes element order 8 answers
- Does Python have an ordered set? 12 answers
In Python3 I wrote a simple one line code as follows :
{ 2*x for x in {1,2,3,4} }
but I m getting answer like this (order changed).
{8, 2, 4, 6}
Why I am getting answer {8,2,4,6}
instead of {2,4,6,8}
?
That's because sets don't have any order. They're unordered collection.
help on
set
:If you want the order to be preserved then you can use
list
,tuple
orcollections.OrderedDict
here.Because a set has no fixed order. Quoting the set documentation:
Use a list or tuple if you require ordering, or use an
OrderedDict()
object to create unique keys that preserve ordering: