Python переместить несколько элементов в списке

В будущем я сделал scrollBottom в плагин jquery, который можно использовать так же, как и scrollTop (т. е. вы можете установить число и прокрутить эту сумму в нижней части страницы и вернуть количество пикселей из нижней части страницы или, верните количество пикселей из нижней части страницы, если номер не указан)

$.fn.scrollBottom = function(scroll){
  if(typeof scroll === 'number'){
    window.scrollTo(0,$(document).height() - $(window).height() - scroll);
    return $(document).height() - $(window).height() - scroll;
  } else {
    return $(document).height() - $(window).height() - $(window).scrollTop();
  }
}
//Basic Usage
$(window).scrollBottom(500);
0
задан ragardner 18 March 2019 в 17:56
поделиться

1 ответ

Решение на самом деле намного проще.

l = ["not end", "", "", "", "x", "y", "don't move"]

Определите конец зоны «не двигаться»:

MOVE = 6

«Выжать» пустые строки:

part1 = [x for x in l[:MOVE] if x]

Переместить » «выдавил» пустые строки до конца:

part2 = (MOVE - len(part1)) * [""]

Объедините кусочки:

part1 + part2 + l[MOVE:]
#['not end', 'x', 'y', '', '', '', "don't move"]

В качестве альтернативы вы можете отсортировать первую часть списка по свойство быть пустой строкой:

sorted(l[:MOVE], key=lambda x: x=="") + l[MOVE:]
#['not end', 'x', 'y', '', '', '', "don't move"]
0
ответ дан DYZ 18 March 2019 в 17:56
поделиться
Другие вопросы по тегам:

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