Newcomer to Python tutorial question

Chris Rebert clp2 at
Thu May 7 15:08:51 EDT 2009

On Thu, May 7, 2009 at 11:58 AM, Alan Cameron <alan.cameron at> wrote:
> "Alan Cameron" <alan.cameron at> wrote in message
> news:hRFMl.50224$tb.4955 at newsfe07.ams2...
>>I am not sure of this is the right place to ask a question about the
>> why is the printed result of
>>>>> basket = {'apple', 'orange', 'apple', 'pear', 'orange', 'banana'}
>>>>> print(basket)
>> {'orange', 'banana', 'pear', 'apple'}
>> in the sequence given?
> Thanks to all who replied.
> I assume therefore that the order in which the items of the set are printed
> could vary each time it is printed?

Due to the underlying dict-based implementation, the order will stay
the same until you modify the set (i.e. add or remove an element), at
which point it may change; it's basically the same behavior as with
printing a dict.

So this will always print the same thing twice:
print basket
print basket

Whereas this might not:
print basket
#modify the set
print basket


More information about the Python-list mailing list