Результаты поиска для 'list'

Главная Форумы Поиск Результаты поиска для 'list'

Просмотр 15 результатов — с 241 по 255 (из 325)
  • Автор
    Результаты поиска
  • #4678
    Legantmar
    Хранитель
    475 pts

    Хасан, спасибо!
    я этого не знал и поэтому делал так

    способ 1:
    list2=[]
    for i in list1:
    list2.append(i)
    способ 2:
    list2= map(lambda x: x, list1)

    способ 3:
    list2 = list(x for x in list1)

    UPDATE: со временем понял, что копию листа можно сделать очень просто list2 = list(list1)

    #4672
    Khasan Mamaev
    Модератор
    187 pts

    Иногда бывает нужно получить копию списка в Питон. Это бывает нужно чтобы менять список, при этом сохраняя исходный список. В такой ситуации нельзя делать простое присваивание типа list2 = list1, таким образом мы просто создадим вторую ссылку на исходный список и любые манипуляции со второй ссылкой отразятся на исходном списке. Копия списка создается так list2 = list1[:]. В различных источниках можно встретить метод list.copy(), но в нашей версии Питона этот метод не работает.

    #4661

    В ответ на: C# и Sharp Develop

    kisli
    Участник
    16 pts

    По сравнению с VS есть пара серьезных недочетов, в основном вылеты и нестабильная работа, а так не плохо, есть даже конвертер кода из C# в Python и обратно, плюс работает на прямую, что несомненно удобно при отладке. Если проект разросся до 3+ классов то следует серьёзно подумать о переходе в VS.

    В общем вот небольшой макрос, чтоб удалять импортированные линии, очень напрягало удалять их вручную ибо обычно с подложкой их приходит куча)

    
    public void DeleteImportLine()
    {
    UIDocument uidoc = this.ActiveUIDocument;
    Document doc = uidoc.Document;
    //Создаем фильтр для выбора типов линий
    ElementClassFilter filter = new ElementClassFilter(typeof(LinePatternElement));
    
    //Собираем все элементы из документа
    FilteredElementCollector collector = new FilteredElementCollector(doc);
    //Отфильтровываем все что не соответствует фильтру
    collector.WherePasses(filter);
    //Добавляем все в список
    IList allLine = collector.ToElements();
    string data = "";
    //Отфильтровываем все что не начинается на IMPORT
    var delLine = allLine.Where(a => a.Name.ToString().StartsWith("IMPORT")).ToList();
    
    using ( Transaction t = new Transaction(doc, "Delete import lauers") )
    {
    t.Start();
    foreach ( LinePatternElement L in delLine )
    {
    //Удаляем
    ElementId id = L.Id;
    //текст можно отключить, это для контроля
    data += L.Name.ToString() + Environment.NewLine;
    doc.Delete(id);
    
    }
    t.Commit();
    }
    TaskDialog.Show("Line", "Удаленные типы линий: " + Environment.NewLine + data);
    }
    

     

    #4633
    Legantmar
    Хранитель
    475 pts

    реверс списка (или кортежа) list[::-1]

    d=1,2,3,4 # исходный кортеж
    OUT=d, d[::-1] # выводим исходный и реверсный для сравнения

    #4570

    В ответ на: Циклы

    Valery
    Участник
    1 pt

    Что писать в функцию list.Map?

    #4569

    В ответ на: Циклы

    ИваСерж
    Хранитель
    134 pts
    1. Через питон
    2. Через list.Map
    3. Как-то можно огранизовать цикл через DesignScript – тут постою послушаю ))
    #4506
    che-30
    Участник

    Анатолий

    Спасибо за проверку для 2015 версии. Значит я не совсем лузер)) Ну и да. Дальнейшее развитие по предложенному сценарию.

    ИваСерж

    Ну в данном случае извлекается не список параметров. Строка ведь такая

    OUT=list.Where(lambda x: UnwrapElement(x).Symbol.get_Parameter(ALL_MODEL_INSTANCE_COMMENTS).AsString()==IN[1])

    ЖИРНЫМ – встроенный параметр “Комментарии”

    так “безопасно” проступать предписывает HELP по API

    Как раз компактность записи и радует. Без дополнительной громоздкой фильтрации получаем сложные критерии для отбора.

    Относительно рекомендации применить  метод LookupParameter не совсем понял. Но попробовал.

    Строка запроса

    OUT=list.Where(lambda x: UnwrapElement(x).Symbol.LookupParameter(ALL_MODEL_INSTANCE_COMMENTS).AsString()==IN[1])

    ситуации не изменила((

    Откомментировал видео Алексея Лобанова и пригласил его в тему, но видео древнее и есть сомнения, что коммент увидится.((

    Какие идеи еще будут?…

    Чувствую, что задача простейшаяю Но не хватает знания-понимания чего-то фундаментального.

     

    #4500
    che-30
    Участник

    Продолжаю беседу сам с собой).

    Ознакомился с http://dynamobim.ru/forums/topic/revit-api-2016-getparameters/

    В соответствии с HELP REVIT API 2016 поправил строку запроса.

    Теперь она выглядит так:

    OUT=list.Where(lambda x: UnwrapElement(x).Symbol.get_Parameter(ALL_MODEL_INSTANCE_COMMENTS).AsString()==IN[1])

    Однако и это не помогло.(

    Файлик скрипта https://yadi.sk/d/9BX2WztCvq8N5

    Файл revit https://yadi.sk/d/eSmuGp5Nvq8aS. Хотя пример может быть любой.

     

    che-30
    Участник

    Здравствуйте!

    В одноименном с сабжем скринкасте Алексей Лобанов легко и непринужденно получает сложные выборки.

    Пробую и я. Но что-то не выходит…

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

    Но попытка получить параметры типа (так же как и у Алексея) тоже провалилась.

    Параметры есть. Это видно из скрина.
    Код
    import clr

    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *

    clr.AddReference(“System.Core”)
    import System
    clr.ImportExtensions(System.Linq)

    list=IN[0]
    #OUT=list.Where(lambda x:UnwrapElement(x).Symbol.GetParameters(“Группа модели”).AsString()==”Несущий каркас”
    #OUT=list.Where(lambda x:UnwrapElement(x).Symbol.GetParameters(“Группа модели”).AsString()==IN[1])
    OUT=list.Where(lambda x:UnwrapElement(x).Symbol.GetParameters(“Комментарии”)==IN[1])
    #OUT=list.Where(lambda x:UnwrapElement(x).Symbol.get_Parameters(“Комментарии”)==IN[1])

    Может кто разъяснит…

    #4459

    Тема: Empty List

    в форуме Задать вопрос
    Юлия
    Участник

    Добрый день!

    подскажите, пожалуйста, как через  Питон можно определить что элемент списка нулевой?

    Dmitry_dronov
    Модератор
    50 pts

    If list1[i] == 5:

    Юрий
    Участник

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

     

    list1 = IN[0]
    list2 = IN[1]
    list3 = IN[2]
    list5=[]

    for i in range(len(list1)):
    if list1==”5″:
    list5.append(“!”)
    else:
    list5.append(“?”)

    #Назначьте вывод переменной OUT.
    OUT = list5

     

    Я хотел построчно проверить список и когда найду 5 выписать “!”. Не то выводит (.

    ИваСерж
    Хранитель
    134 pts

    Посмотрите обсуждение в теме Elseif
    Нод list.FilterByBoolMask

    #4373

    В ответ на: Помогите новичку!

    ИваСерж
    Хранитель
    134 pts

    AsInteger() ???  Конечно будет ошибка. Это ж не целое число, а число с точкой. Нужно ещё попробовать AsDouble() AsString().
    Если ничего не писать, то должно выдать на выход просто параметр Ревит.
    Кстати, питон нод в таком виде выдаст последний зашедший в цикл элемент.
    Создайте список, в который будете добавлять mas.
    outlist = ()

    outlist.append(mas)

    OUT = outlist

    Опишите пожалуйста алгоритм. Не могу понять логику того, что вы делаете. Ваш скрипт в данный момент представляет “вещь в себе” – сложно понять цель.

     

    #4286
    Анатолий
    Участник
    37 pts

    Да, я бы успокоился, наверное, в поиске оптимального варианта, но память о где-то просмотренном все же возможном варианте выборки не оставила надежды и нашелся тот же ролик (№19) Алексея Лобанова, где он использовал параметры семейства (насколько я понял, это все параметры типа семейства), которые стандартные ноды динамо не видят.  Дальше только знаний не хватает вытащить Symbol.get_Parameter(“Группа модели”).AsString() отдельно, чтобы с ним работать…

    import clr
    clr.AddReference(‘RevitAPI’)
    from Autodesk.Revit.DB import *
    clr.AddReference(‘System.Core’)
    import System
    clr.ImportExtensions(System.Linq)
    list=IN[0]
    OUT=list.Where(lambda x: UnwrapElement(x).Symbol.get_Parameter(“Группа модели”).AsString()==UnwrapElement(IN[1]))

Просмотр 15 результатов — с 241 по 255 (из 325)