У меня есть такой вложенный список:
nested_list = list(children = list(CV = "hello",
children = list(CV = "out",
children = list(CV = "there",
TE = "blaa")),
TE = "hello",
children = list(CV = "tom",
TE = "lisa",
children = list(TE = "bob"))),
children = list(CV = "sam",
children = list(CV = "out",
children = list(CV = "there",
TE = "blaa",
other = "other element"))))
, и мне нужно извлечь все элементы с именами "CV" или "TE".Также могут быть элементы с другими именами, такими как CV или TE.
Элементы с именами "TE" или "CV" могут быть самими списками, поэтому мне нужно извлечь списки.Вот некоторые входные данные со списками в качестве элементов, которые необходимо извлечь.
nested_list2 = list(children = list(CV = "hello",
children = list(CV = list(subject = "sub", value = list(key = "1", var = "45")),
children = list(CV = "there",
TE = list(subject = "sub2")))))
Проблема заключается в неизвестном уровне глубины вложенных списков.поэтому мне нужна функция, которую я могу использовать в любом вложенном списке.
Это ожидаемый вывод для nested_list:
exp_output = list(CV = "hello",
CV = "out",
CV = "there",
TE = "blaa",
TE = "hello",
CV = "tom",
TE = "lisa",
TE = "bob",
CV = "sam",
CV = "out",
CV = "there",
TE = "blaa")
, и это будет ожидаемый вывод nested_list2:
exp_output2 = list(CV = list("hello"),
CV = list(subject = "sub", value = list(key = "1", var = "45")),
CV = list("there"),
TE = list(subject = "sub2"))
Я знаю, что элементы списка не будутесть уникальные имена, но мне нужна эта структура.Есть ли такая функция?Я ничего не нашел.
Любая помощь приветствуется.