АВТОМАТИЗАЦИЯ
1
Записи
2
Пользователи
0
Reactions
63
Просмотры
0
28.10.2024 23:51
Создатель темы
Всем привет!
Подскажите, пожалуйста, как исправить код.
Суть задачи:
- В dynamo формируем список всех помещений квартир
- Далее в ноде python создаем список помещений квартир сгруппированных по параметру "номер квартиры" (список с вложенными списками)
- Далее стоит задача в данном списке отсортировать помещения в каждой квартире по определенному шаблону, согласно приоритету помещения:
# функция сортировки помещений def rooms_sort(name): rooms_order = { "Мастер-спальня": 1, "Жилая комната": 2, "Кухня": 3, "Кухня-столовая": 4, "Кухня-ниша": 5, "Мастер С/У": 6, "С/У": 7, "Гардеробная": 8, "Постирочная": 9, "Коридор": 10, "Прихожая": 11, "Лоджия": 12, "Балкон": 13, "Терраса": 14, } return rooms_order[name] if name in rooms_order.keys() else len(rooms_order)
А вот тут затык, я не знаю как отсортировать помещения по параметру "Имя" на основе функции выше:
# сортировка помещений по приоритету for i in range(len(lst2)): for j in range(len(lst2[i])): elm = UnwrapElement(lst2[i][j]) name = elm.LookupParameter("Имя") lst2[i].sort(key=rooms_sort) OUT = lst2
Буду благодарен за любую подсказку
1 Ответ
0
29.10.2024 09:37
lst2[i].sort(key=rooms_sort)
Не сильно понятно что вы в этой строчке пытаетесь сделать внутри второго цикла.
Приложите к вопросу файл для теста и полный ваш код, чтобы можно было более детально разобраться и понять в чем у вас проблема.
Ну и в целом, мне кажется, что вашу задачу можно решить стандартными нодами, без использования Python
BIM-менеджер
Соавтор шаблонов ADSK КЖ/КМ 2021
Инженер-проектировщик КР, КЖ
Телеграм
Правила форума и некоторые нюансы по работе с текстовым редактором