У меня есть несколько вложенных списков, которые являются перестановками друг друга в подсписках:
x = [
['a', [['b', 'c', [['e', 'd']]]]],
['a', [['b', [['e', 'd']], 'c']]],
[[['b', 'c', [['e', 'd']]]], 'a'],
['a', [[[['d', 'e']], 'c', 'b']]]
]
Я хочу выбрать только те, которые соответствуют этому требованию: если подсписки содержат элемент 'd' в нем, он должен иметь индекс 0 в этом подсписке. Таким образом, среди списков в x нужно выбрать только
['a', [[[['d', 'e']], 'c', 'b']]]
. Я пробовал эту функцию:
def limitation(nested):
result = []
for i in nested:
if isinstance(i, list):
return limitation(i)
else:
if (i =='d' and nested.index(i) == 0):
return nested
for i in x:
print(limitation(i))
Но вывод ['d', 'e'] вместо ['a', [[[['d', 'e']], 'c',' b ']]]]. Как я могу это исправить?