У меня есть словарь, состоящий из вложенных списков и словарей.Некоторые из этих списков состоят только из одного элемента: другого списка.Я хочу сохранить элемент, но я хочу удалить бессмысленный одноэлементный список.Например, из
{'geojson': [{'geometry': {'coordinates': [[[5., 52.],
[5., 52.],
[5., 52.],
]],
'type': 'Polygon'},
'properties': {},
'type': 'Feature'}]},
Я хочу получить
{'geojson': {'geometry': {'coordinates': [[5., 52.],
[5., 52.],
[5., 52.],
],
'type': 'Polygon'},
'properties': {},
'type': 'Feature'}},
Я попробовал рекурсивную функцию.Он распознает части правильно, но возвращает мой аргумент без изменений.
def eliminate_excessive_nested_lists(x):
if isinstance(x,list):
if len(x) == 1:
x = x[0] #I tried x[:] = x[0] but it works neither
eliminate_excessive_nested_lists(x)
else:
for element in x:
eliminate_excessive_nested_lists(element)
elif isinstance(x,dict):
for key in x.keys():
eliminate_excessive_nested_lists(x[key])
return x
Как сделать так, чтобы строка x = x [0] действительно работала?(или найти совершенно другой подход)