Python3 Pop вложенный json -ключ дает путь строкиPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Python3 Pop вложенный json -ключ дает путь строки

Сообщение Anonymous »

вариант использования
Мне нужно POP () вложенный ключ JSON на основе строки переменной длины, которая передается в мой скрипт.
пример < /strong> < /p>
с учетом словаря {'ip': {'key1': 'val1', 'key2': 'val2' }} Как может pop () значение key1 из словаря, если мой скрипт пройден, путь как ip.key1
Примечание это нужно работать, учитывая любое количество ключей. : < /p>
data = {'IP': {'key1': 'val1', 'key2': 'val2'}}
lst = ['IP', 'key1'] # Convert the string of keys to an array

def get(d,l):
if len(l)==1: return d[l[0]]
return get(d[l[0]],l[1:])

print(get(data, lst))
< /code>
Кроме того, я работаю в ограниченной среде, поэтому использование любых нишевых либеров не является вариантом. < /p>
Я чувствую, что, вероятно, есть просто Способ адаптировать это, чтобы пройти весь путь, но рекурсия причиняет боль моей голове. Есть мысли? Но он не предоставил много контекста, поэтому я обновляю это, чтобы продемонстрировать более сложный набор данных и функцию, которую я использовал на основе ответа Филипа < /p>
data = {'IP': {'key1': {'key3': {'key4': 'val4', 'key5': 'val5'}}, 'key2': 'val2'}}
lst = ['IP', 'key1', 'key3', 'key4']

def popKey(d, l):
current_level = d
for key in l[:-1]:
print(key)
current_level = current_level[key]
print(current_level)
current_level.pop(l[-1])
return d

print(popKey(data, lst))


Подробнее здесь: https://stackoverflow.com/questions/733 ... tring-path
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»