python 对象数组,根据指定字段条件过滤数据
在 Python 中,你可以使用列表推导式或内置的 `filter()` 函数来根据指定字段的条件对对象数组进行过滤。
以下是使用列表推导式的示例,可以按照指定字段的条件对对象数组进行过滤:
```python
obj_arr = [
{'id': 1, 'name': 'John'},
{'id': 2, 'name': 'Jane'},
{'id': 3, 'name': 'John'},
{'id': 4, 'name': 'Alex'},
{'id': 5, 'name': 'Jane'}
]
# 根据 name 字段为 "John" 进行过滤
filtered_objs = [obj for obj in obj_arr if obj['name'] == 'John']
print(filtered_objs)
# 输出: [{'id': 1, 'name': 'John'}, {'id': 3, 'name': 'John'}]
```
你还可以使用 `filter()` 函数进行过滤。这个函数接受一个函数和一个可迭代对象作为参数,函数用于判断每个元素是否满足条件。
以下是使用 `filter()` 函数的示例,按照指定字段的条件对对象数组进行过滤:
```python
obj_arr = [
{'id': 1, 'name': 'John'},
{'id': 2, 'name': 'Jane'},
{'id': 3, 'name': 'John'},
{'id': 4, 'name': 'Alex'},
{'id': 5, 'name': 'Jane'}
]
# 根据 name 字段为 "John" 进行过滤
filtered_objs = list(filter(lambda obj: obj['name'] == 'John', obj_arr))
print(filtered_objs)
# 输出: [{'id': 1, 'name': 'John'}, {'id': 3, 'name': 'John'}]
```
以上两种方法都可以根据指定字段的条件对对象数组进行过滤。根据你的需求选择合适的方法。
浙公网安备 33010602011771号