Вложенные списки

Главная Форумы Задать вопрос Вложенные списки

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Автор
    Сообщения
  • #6762 Score: 0
    Семен
    Участник
    5 pts

    Всем привет. Подскажите, пожалуйста, как работать со вложенными списками. На картинке интересующий меня пример. Как можно трансформировать список из первого во второй вариант, а потом и в третий?

    #6764 Score: 3
    Legantmar
    Хранитель
    475 pts

    через нод python script примерно вот так:

    OUT  = [int(”.join(str(i) for i in p)) for p in IN[0]]

    #6767 Score: 0
    Семен
    Участник
    5 pts

    Благодарю!

    #6769 Score: 0
    Семен
    Участник
    5 pts

    Это может быть из-за того, что я работаю на старой версии динамо? 1.1.0, так как ревит 2015

    #6770 Score: 0
    Legantmar
    Хранитель
    475 pts

    проблема в кавычках (нужно две одиночных или две двойных).

    #6771 Score: 0
    Семен
    Участник
    5 pts

    Всё получилось, спс

    #6772 Score: 0
    Семен
    Участник
    5 pts

    Предупреждение:IronPythonEvaluator.EvaluateIronPythonScript операция не выполнена.
    Traceback (most recent call last):
    File “<string>”, line 8, in <module>
    File “<string>”, line 8, in <genexpr>
    UnicodeEncodeError: (‘unknown’, ‘\x00’, 0, 1, ”)

    Как можно включить поддержку юникода?

    #6773 Score: 0
    Legantmar
    Хранитель
    475 pts

    тогда ты неправильный пример привел.
    если у тебя только буквы (и к тому же русские), то вот так:
    OUT  = [”.join(i for i in p) for p in IN[0]]

    p.s. команда str(x) – от слова string, преобразует символы в буквы (даже если это цифры, звучит странно)
    она нужна, чтобы склеивать символы с помощью join
    команда int(x) – от слова integer, преобразует буквы в цифры (если это возможно)
    нужна для того, чтобы ты далее мог использовать свои данные как цифры (применять математические операции).
    в твоем последнем случае, они оказались не нужны.

    #6775 Score: 0
    Семен
    Участник
    5 pts

    Спасибо за подробный ответ, Legantmar!

    #6777 Score: 0
    Семен
    Участник
    5 pts

    На самом деле мне нужны и str и int в итоговом списке. На скрине виден желаемый результат. Работа скрипта нарушается только в случае использования кириллицы. Как её можно заиметь?

    #6780 Score: 0
    Семен
    Участник
    5 pts

    Подскажите ещё, пожалуйста, как можно отредактировать Ваш скрипт, чтобы он вставлял разделители как на скрине

    #6781 Score: 0
    txt
    Модератор
    86 pts

    чтобы заиметь кириллицу надо использовать ToString()

    OUT  = [“”.join(i.ToString() for i in p) for p in IN[0]]

    правда с инглишем он не дружит XD

    тут думаю надо использовать

    try

    …. i.ToString()

    except

    ….str(i)

    #6782 Score: 0
    Анатолий
    Участник
    37 pts

    Вставка разделителя происходит просто путем добавления между штрихами (кавычками) необходимых символов.

    #6785 Score: 0
    txt
    Модератор
    86 pts

    не получилось сделать код универсальным, чтобы принимал одновременно латиницу и кириллицу, т.е. это не работает

    #6791 Score: 1
    txt
    Модератор
    86 pts

    решение (естественно на выходе будут только строковые значения)


    OUT =("_".join(x.ToString() for x in i) for i in IN[0])

Просмотр 15 сообщений - с 1 по 15 (из 16 всего)
  • Для ответа в этой теме необходимо авторизоваться.