Aktualisieren Sie das Element im verschachtelten Wörterbuch mit der ListePython

Python-Programme
Anonymous
 Aktualisieren Sie das Element im verschachtelten Wörterbuch mit der Liste

Post by Anonymous »

Ich schreibe eine Methode, mit der jedes Element in einem verschachtelten Wörterbuch aktualisiert werden kann. Die Methode nimmt den Pfad, den JSON und den Wert ein: < /p>

Code: Select all

from functools import reduce
import operator

json_test = {'request_version': 'v1.0',
'fields': [{'team': [{'name': 'Real Madrid', 'colour': 'white'}],
'location': {'type': 'Feature',
'geometry': {'type': 'Point', 'coordinates': [0, 53]}},
'query': {'filter': '2024/25'},
'player': 'Bellingham'}]}

def update_attribute(element, json, new_value):
*path, last = element.split('.')
target = reduce(operator.getitem, path, json)
target[last] = new_value
return json

update_attribute('fields.player', json_test, 'Mbappe')
< /code>
Diese Methode funktioniert jedoch nicht, da im Wörterbuch eine Liste vorhanden ist. < /p>
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[114], line 1
----> 1 update_attribute("fields.player", json_name_ab_asr, "test")

Cell In[111], line 3, in update_attribute(element, json, new_value)
1 def update_attribute(element, json, new_value):
2     *path, last = element.split('.')
----> 3     target = reduce(operator.getitem, path, json)
4     target[last] = new_value
5     return json

TypeError: list indices must be integers or slices, not str
Irgendwelche Problemumgehungen?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post