Получить элемент в подлисте по индексу

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

В этой теме 19 ответов, 6 участников, последнее обновление  Khasan Mamaev 3 мес., 2 нед. назад.

Просмотр 15 сообщений - с 1 по 15 (из 20 всего)
  • Автор
    Сообщения
  • #5458 Score: 0

    txt
    Модератор
    90 pts

    Как в код-блоке и питоне получить определенный элементы по индексу в подлисте?

    #5459 Score: 1

    Legantmar
    Хранитель
    435 pts

    в код блоке ответа не знаю (сам сталкивался с подобной ситуацией)
    а в питоне примерно так:
    IN0 = [[1,2,3],[4,5,6]]
    list1 = []
    for i in IN0:
    list1.append(i[1]) # где 1 – номер нужного элемента в каждом подсписке
    OUT = list1
    на выходе будут 1-ые элементы каждого подсписка (т.е. 2 и 5)

    #5461 Score: 0

    Khasan Mamaev
    Хранитель
    176 pts

    вроде в красном прямоугольнике есть ответ на вопрос, a[0][1], в первых скобках номер подсписка, во вторых – номер элемента подсписка

    #5462 Score: 0

    txt
    Модератор
    90 pts

    необходимо получить каждый элемент по указанному индексу во всех подлистах, то есть тот результат, который получается на выходе нода GetItemAtIndex но алгоритмом в код-блоке и на Питоне (также надо как-то определить общее количество элементов в каждом из подлистов)

    #5463 Score: 2

    Khasan Mamaev
    Хранитель
    176 pts

    #5464 Score: 2

    Khasan Mamaev
    Хранитель
    176 pts

    В Python можно в одну строчку sublist = map(lambda x:x[0],lists)

    #7739 Score: 0

    Шпилька
    Участник
    2 pts

    А как можно сделать наоборот? Получить от элемента “Номер списка. Номер подсписка. Номер подподсписка” и т.д.? Типа 1.2.7.4?

    #7741 Score: 0

    Александр
    Участник
    4 pts

    Подскажите как  произвести сортировку по 3-х уровненному списку (исходный):

    в случае если в  уровне L1 содержится элемент  с именем “222”,

    Нужно вернуть в весе массивы (может быть много) уровня L2 (входящего массива)  содержащие “222” в L2 (нового) массива.

    в случае если в  уровне L1 содержится элемент  с именем “333”,

    Нужно вернуть в весе массивы (может быть много) уровня L2 (входящего массива)  содержащие “333” в L2 (нового) массива.

    Иными словами нужно отсортировать массивы L2  по заданным элементам содержащихся в массивах L1.

    фактически мы должны  изменить порядок следования списков L2 по заданным параметрам одного из элементов.

    #7742 Score: 1

    Khasan Mamaev
    Хранитель
    176 pts

    Друзья сопровождайте пожалуйста свои вопросы более подробными объяснениями, наилучший вариант – показать два списка, исходный и желаемый. Шпильки вопрос понятен, но есть одна проблема – все элементы должны быть уникальными, иначе решений будет несколько. Такой вариант устраивает?

    #7745 Score: 0

    Шпилька
    Участник
    2 pts

    Хаcан, конечно. Я понимаю, что одному элементу нельзя присвоить в один параметр два значения…Хотя, до того, как Вы написали, я об этом не задумывалась… На всякий случай прикладываю картинку:

    #7746 Score: 0

    Александр
    Участник
    4 pts
    #7747 Score: 1

    Legantmar
    Хранитель
    435 pts

    Для Шпильки:
    после списка элементов нужно поставить стандартный нод Element.Id чтобы преобразовать их ID в числа.
    Код работает только со списком второго порядка, т.е. тем примером, что указан в вопросе.

    #7748 Score: 1

    Legantmar
    Хранитель
    435 pts

    Для Александра:

    #7749 Score: 2

    kulkul
    Участник
    48 pts

    Hi Hairpin,

    Is this what your looking for?

    #7751 Score: 1

    Khasan Mamaev
    Хранитель
    176 pts

    Шпилька а куда нужно записать эти индексы? надо создать список в котором будут подсписки с Id элементов и их “адресами”?

Просмотр 15 сообщений - с 1 по 15 (из 20 всего)

Для ответа в этой теме необходимо авторизоваться.