txt
Ответы в темах
-
АвторСообщения
-
как известно, при использовании set(list) мы преобразуем исходный список во множество , то есть элементы становятся неупорядоченными (в сравнении с исходным списком) и уникальными.
Один из способов сохранить порядок исходного списка с уникальными элементами:
(для сравнения используем также set):
inn = [9,8,8,7,5,5,7]
set=set(inn)
set_save_order=[ els for indx,els in enumerate(inn) if inn.index(els)==indx ]
OUT = set, set_save_orderСпасибо!
все работает:import clr
clr.AddReference('RevitAPI')
from Autodesk.Revit.DB import *
clr.AddReference('RevitNodes')
import Revit
clr.AddReference('RevitServices')
import RevitServices
from RevitServices.Persistence import DocumentManager
from RevitServices.Transactions import TransactionManager
doc = DocumentManager.Instance.CurrentDBDocument
TransactionManager.Instance.EnsureInTransaction(doc)
delete_els=[doc.Delete(UnwrapElement(i).Id) for i in IN[0]]
TransactionManager.Instance.TransactionTaskDone()http://dynamobim.ru/forums/search/замена+текста/
для вашего случая (этот пример тоже на форуме есть):
тут подробно:
false/true – нужен просто для перезапуска скрипта
по поводу “3 метра над уровнем базовой точки проекта” – можно передвинуть оси по x,y,z
вот самую малость внес изменений: https://yadi.sk/d/q7_Q0LeN3TiVfr
Подскажите , а зачем вам писать False ?
Может я ошибаюсь, но полагаю, что в конечном счете вам нужен список, содержащий определенные текстовые вхождения ? Если это так , то , при условии уникальности двух списков, как вариант :
(на выходе получаем: 1 список- список содержит … 2 список- не содержит…)
Код в питоне:
list_contain=[i for x in IN[1] for i in IN[0] if x in i]
list_not_contain=set(IN[0])-set(list_contain)
OUT=list_contain, list_not_containp.s. бывает, что нужно получить не сами элементы с вхождениями , а их индексы:
index_contain=[IN[0].index(i) for x in IN[1] for i in IN[0] if x in i]
вот еще ссылка
https://forum.dynamobim.com/t/setting-view-template-includes/15969/3
не проверял, кто успешно применит, пишите ответ тутВот еще решения (не мои, выкладываю с разрешения автора):
+ для решения с двумя группировками
Вопрос:Возможно как то сгруппировать одинаковые элементы по названию (индексу [0] в подсписке) и сложить их значения по индексу [1] (100+100+100, 200+200) (без использования библиотек Numphy и Scipy ) ?
Решение:
здесь на форуме это есть , повторюсь:
Скопируйте в питон это:
https://yadi.sk/i/OgERC3W03N3yzV
работает это так:
-
АвторСообщения