Сортировка по значению главного элемента и входящих в него

Главная Форумы Задать вопрос Сортировка по значению главного элемента и входящих в него

В этой теме 9 ответов, 2 участника, последнее обновление  txt 4 мес. назад.

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)
  • Автор
    Сообщения
  • #5571 Score: 0

    txt
    Модератор
    74 pts

    Имеется список из элементов помещений и ограждений (окна, двери, стены).

    У каждого ограждения записано в параметр к какому номеру помещения оно относится.

    Имея номер помещения и параметр ограждений с записанным в него номером помещения необходимо отсортировать питоном этот список (т.е. ПОМЕЩЕНИЯ И ЭЛЕМЕНТЫ) на подсписки с помещениями и входящими в него ограждениями таким образом:

    #5579 Score: 0

    txt
    Модератор
    74 pts

    Возможно аналогично удобней отсортировать в таком виде:

    #5580 Score: 0

    txt
    Модератор
    74 pts

    Плохо искал)

    ответ был уже на этом форуме (пример скрипта на скрине)….Теперь вопрос как отсортировать список (под List.UniqueItems) чтобы вначале подсписков шло помещение, затем его номер и далее остальные элементы…

    Думаю надо что-то добавить после:

    for i in IN[0]:
    name = UnwrapElement(i).Category.Name
    if name == “Помещения”:

      {ЗДЕСЬ УСЛОВИЕ: ТО ПЕРЕМЕСТИТЬ В НАЧАЛО СПИСКА}

    Ну а как еще переместить цифру (номер помещения) на второе место даже не знаю..

    как то так….

    #5581 Score: 0

    Oleg
    Участник
    26 pts

    Что-то у вас запутанно как-то вышло) Можете приложить файлы (rvt + dyn)?

    #5582 Score: 0

    txt
    Модератор
    74 pts

    Да , конечно..

    прикрепляю файл rvt там скромный домик на 1 этаже и dyn файлик :

    https://yadi.sk/d/achZpeEW3HfPBF

     

    #5583 Score: 1

    Oleg
    Участник
    26 pts

    Вот так получилось:

    #5584 Score: 0

    txt
    Модератор
    74 pts

    Ничего себе какой компактный код…Прям вИсшый пилотаж! )

    Спасибо огромное!

    Буду изучать Ваш скрипт…

    #6400 Score: 0

    txt
    Модератор
    74 pts

    Подскажите
    а почему здесь используется именно YIELD ?
    я пытался самостоятельно понять, изучать его назначение и случаи применения, однако так ничего конкретного и не понял…
    на просторах сети самое более менее ясное нашел тут

    Python Yield


    но все равно ясности лично для меня так и не внесло

    #6401 Score: 0

    txt
    Модератор
    74 pts

    Я конечно могу ошибаться , но для того чтобы как бы не хранить в памяти список , т.е. не создавать заполнение списка lits=[] , потом list.append
    а хранить как бы виртуально этот список….
    именно хранить тут: sorted(rooms(), key=…)
    Поправьте , если не так…

    p.s. мне очень нравится как построен код в ответе #5583 и я хочу научиться делать также)

    #6411 Score: 0

    txt
    Модератор
    74 pts

    Без yield вариант (для результата аналогичного ответу #5583):

Просмотр 10 сообщений - с 1 по 10 (из 10 всего)

Для ответа в этой теме необходимо авторизоваться.