Announcements
Due to scheduled maintenance, the Autodesk Community will be inaccessible from 10:00PM PDT on Oct 16th for approximately 1 hour. We appreciate your patience during this time.
Dynamo – Русский – только для чтения
Раздел для программистов и специалистов, использующих Dynamo
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[Dynamo] Как объединить списки после разделения?

9 REPLIES 9
SOLVED
Reply
Message 1 of 10
valerius.spb
656 Views, 9 Replies

[Dynamo] Как объединить списки после разделения?

Товарищи! Помогите)

Вопрос в следующем, есть список, в списке есть положительных и отрицательные значения. Нужно поделить список на два, на положит. и отрицательные, произвести некоторые операции, а потом обратно объединить их в один, так чтобы сохранилась нумерация исходного списка. Никак не получается сохранить нумерацию... Понятно что проблема появляется после объединения списков, не придумать пока ничего другого)

Спасибо!Снимок.JPG

 

@valerius.spb 

Название темы было изменено @alina.balkanskaia для улучшения навигации на форуме. Оригинальное название: [Dynamo] Объединение списков после разделения.

 

9 REPLIES 9
Message 2 of 10
KozyrevYA
in reply to: valerius.spb

Добрый день. На нодах такую задачу решать "ещё то удовольствие", тем не менее можно. Как пример, см. рисунок, можно попробовать по работать с индексами исходного списка и фильтровать их по той же маске, дальше преобразуем списки со значениями как нам нужно и сортируем их по "старым" индексам, тем самым получая порядок такой же как в исходном списке. Вобщем, идея работать с индексами и по ним сортировать после преобразований.

 

sortByIndex.png

Message 3 of 10
valerius.spb
in reply to: KozyrevYA

Рабочий! Но проблема одинаковых значений присутствует)Снимок1.JPG 

Message 4 of 10
KozyrevYA
in reply to: valerius.spb

Акелла промахнулся) Вместо нода List.IndexOf нужно просто сосчитать количество элементов в списке и сгенерировать последовательность чисел.

 

Home_2021-12-17_07-52-33.png

Message 5 of 10
valerius.spb
in reply to: KozyrevYA

Скрипт отработал! Спасибо за решение!!! Осталось только в питоне реализовать)
Message 6 of 10

Добрый вечер!

Если у вас список строк, то можно и не разделять его на два, а обрабатывать целиком при помощи одного или нескольких условных выражений. Если не знакомы с ними - почитайте данный раздел справки Dynamo.

В вашем конкретном примере это бы выглядело вот так:

211217_2336_002.jpg

Код из последнего кодблока:

String.StartsWith(a, "-")? " " + a : " +" + a;

Maxim Stepannikov | Architect, BIM Manager, Instructor
Message 7 of 10

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

211217_2353_003.jpg


Maxim Stepannikov | Architect, BIM Manager, Instructor
Message 8 of 10
KozyrevYA
in reply to: architect.bim

Максим, хороший вариант) В голову сразу не пришло. Отличное и простое решение!)

Message 9 of 10

Спасибо, за ссылку по условиям! Всё отработало!!! Респект!
Message 10 of 10

С нодами пока понятнее)

Can't find what you're looking for? Ask the community or share your knowledge.

Post to forums  

Autodesk Design & Make Report