stackoverflow.com/questions/9792664/set-changes-element-order

от вопрос уже есть ответ здесь:

Согласованность порядка разбора Dict / Set 1 ответ

Кто-то спросилВот почему при сдаче1 а такжеTrue вset только1 хранится.

Это конечно потому что1==True, Но в каких случаях1 хранится и в каких случаяхTrue хранится?

Давайте посмотрим:

прохождениеlist построитьset вместо использованияset обозначения:

>>> set([True,1])
{True}
>>> set([1,True])
{1}

кажется логичнымset повторяется во внутреннем списке и не добавляет второй элемент, поскольку он равен первому элементу (обратите внимание, чтоset([True,1]) не можешь Уступать1, потому чтоset не могу знать, что внутри списка. Это может даже не бытьlist ноитерируемый)

Сейчас используюset обозначения:

>>> {True,1}
{1}
>>> {1,True}
{True} 

Похоже, что в этом случае список элементов обрабатывается в обратном порядке (проверено на Python 2.7 и Python 3.4).

Но гарантировано ли это? Или просто деталь реализации?

Ответы на вопрос(3)

Ваш ответ на вопрос