python - 如何从数组中的每个条目中删除一个属性?
问题描述
我创建了一个数组,每个元素都填充了我从 dynamodb 收集的 json(dict) 条目。
我想删除每个条目中的顶级属性之一。我认为我面临的问题是价值是一个列表,但我不太确定。
我尝试了几种使用循环和切片的方法,但似乎没有什么对我有用。
数组示例:
[
{
"Item": {
"id": "uuid",
"event": {
"A": "1",
"B": "2"
}
},
"ResponseMetadata": {
"A": "1",
"B": {
"1": "A",
"2": "B"
},
"C": "2"
}
},
{
"Item": {
"id": "uuid",
"event": {
"A": "1",
"B": "2"
}
},
"ResponseMetadata": {
"A": "1",
"B": {
"1": "A",
"2": "B"
},
"C": "2"
}
}
]
这是我尝试的一个循环:
def format_result(result):
i = 0
for i in result:
del i['ResponseMetadata']
i += 1
return result
我得到的错误是:TypeError:'str'对象不支持项目删除
还尝试了给出错误的 i.pop():AttributeError: 'str' object has no attribute 'pop'
解决方案
这是我最后的做法:
def extract_events_to_array(elist):
events_list = [get_user_event(event_id) for event_id in elist[:10]]
return format_result(events_list)
def get_user_event(eventid):
response = event_table.get_item(
Key={"eventId": eventid}
)
return response
def format_result(events_list):
for event in events_list:
del event['ResponseMetadata']
return events_list
推荐阅读
- java - 使用 antlr4 检查 java 代码中的用户输入
- android - 是否可以通过 ./gradlew 命令传递构建配置参数?
- c# - 在 ASP.Net Framwork API 中配置和使用 AutoMapper
- grafana - 使用 Grafana 离散面板监控标签 (InfluxDB)
- c++ - 二叉树到循环双向链表
- python-3.x - 仅使用 Opencv python 裁剪前额
- matlab - 在MATLAB中求解非线性方程组时出错
- c++ - 返回具有随机值的对象的模板函数
- sql - SQL Server 条件下的日期和浮点数转换
- css - 打印文档中未保留填充