Просто прочитайте документацию по Python :
Python также включает тип данных для наборов. Набор представляет собой неупорядоченную коллекцию без повторяющихся элементов . Основное использование включает тестирование членства и устранение дублирующихся записей. Объекты множества также поддерживают математические операции, такие как объединение, пересечение, разность и симметричная разность.
blockquote>Emphasis mine. sup>
Это означает, что вы никогда не сможете сортировать элементы внутри набора *.
По крайней мере, с «нормальными» сетами вы не можете. Вам лучше поискать сторонние библиотеки (и словари по умолчанию, и
collections.OrderedDict
), потому что я не думаю, что python имеет встроенные упорядоченные множества, по крайней мере, нет вcollections
[ 117].* Ну, не никогда , я понял, что ранние версии python не заказывали словари, а теперь они заказали. Но, по крайней мере, в текущей версии (python 3.7) нет упорядоченных множеств.
В любом случае, словари работают аналогично наборам. В словаре вы не можете иметь два раза один и тот же ключ, как в наборе, вы не можете иметь два раза один и тот же элемент. Поэтому, если вы работаете с ключами словаря и просто игнорируете значения этих ключей,
collections.OrderedDict
может работать для вас. Даже базовые словари (те, которые вы создаете с помощьюdict()
) будут работать с Python 3.7.>>> a = dict() >>> a[1] = None >>> a[-1] = None >>> a[0] = None >>> a[4] = None >>> a[-3] = None >>> print(a.keys()) dict_keys([1, -1, 0, 4, -3])
Проверьте Function#Apply (). Это позволяет Вам передать параметры как массив.
doSomething.apply(contextObj, args);