I am trying to remove multiple keys from a list ordered dictionary without any success.
The data structure I loaded from a file is shown below:
[OrderedDict([('name', 'pageshift'), ('value', ''), ('activity', 'dataupdate'), ('host_name', False), ('db_name', True)]),
OrderedDict([('name', 'bigdata'), ('value', ''), ('activity', 'freeze'), ('host_name', False), ('db_name', True)]),
OrderedDict([('name', 'spark'), ('value', ''), ('activity', 'dataupdate'), ('host_name', False), ('db_name', True)]),
OrderedDict([('name', 'django'), ('value', ''), ('activity', 'insert'), ('host_name', False), ('db_name', True)])]
When I am trying to delete some of the keys from the list of ordered dictionaries, it gives me an error:
for key in ('value','activity','db_name'):
del jdata[key]
Error message:
TypeError: list indices must be integers,not str
Iterating a list of OrderedDict
is nothing different from a list of normal dictionary. You can do:
for d in jdata:
for key in ('value', 'activity', 'db_name'):
del d[key]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.