Как отсортировать набор в Python? [Дубликат]

Начиная с jQuery 1.7, вы должны использовать jQuery.fn.on :

$(staticAncestors).on(eventName, dynamicChild, function() {});

До этого рекомендуется использовать live() :

$(selector).live( eventName, function(){} );

Однако live() устарел в 1.7 в пользу on() и полностью удален в 1.9. Подпись live():

$(selector).live( eventName, function(){} );

... может быть заменена следующей on() сигнатурой:

$(document).on( eventName, selector, function(){} );

Например, если ваша страница динамически создавала элементы с именем класса dosomething, вы привязывали бы событие к родительскому, который уже существует (здесь есть нуль проблемы, вам нужно что-то, что существует для привязки, не привязка к динамическому контенту), это может быть (и самый простой вариант) - document. Хотя иметь в виду document, возможно, не самый эффективный вариант .

$(document).on('mouseover mouseout', '.dosomething', function(){
    // what you want to happen when mouseover and mouseout 
    // occurs on elements that match '.dosomething'
});

Любой родитель, который существует в момент привязки события, прекрасен. Например,

$('.buttons').on('click', 'button', function(){
    // do something here
});

применимо к

0
задан Paul Rooney 28 March 2019 в 02:12
поделиться

1 ответ

Вы не можете

Просто прочитайте документацию по Python :

Python также включает тип данных для наборов. Набор представляет собой неупорядоченную коллекцию без повторяющихся элементов . Основное использование включает тестирование членства и устранение дублирующихся записей. Объекты множества также поддерживают математические операции, такие как объединение, пересечение, разность и симметричная разность.

Emphasis mine.

Это означает, что вы никогда не сможете сортировать элементы внутри набора *.

По крайней мере, с «нормальными» сетами вы не можете. Вам лучше поискать сторонние библиотеки (и словари по умолчанию, и 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])
0
ответ дан Ender Look 28 March 2019 в 02:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: