在 Python 中,你可以使用 `filter()` 函数和 `sorted()` 函数来根据指定字段的条件过滤并排序对象数组。
以下是示例代码,演示如何根据指定字段条件过滤并按升序排序对象数组:
```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" 进行过滤并按 id 字段升序排序
filtered_objs = filter(lambda obj: obj['name'] == 'John', obj_arr)
sorted_objs = sorted(filtered_objs, key=lambda obj: obj['id'])
print(sorted_objs)
# 输出: [{'id': 1, 'name': 'John'}, {'id': 3, 'name': 'John'}]
```
在这个示例中,我们首先使用 `filter()` 函数针对指定字段进行过滤,然后使用 `sorted()` 函数按照另一个字段进行升序排序。你可以根据你的具体需求修改过滤条件和排序字段。
请注意,`filter()` 函数返回的结果是一个迭代器对象,需要通过 `list()` 函数将其转换为列表,以方便打印输出或进一步操作。
希望这个示例能够帮助到你。如果有任何问题,请随时提问。
标签:John,name,python,过滤,升序,排序,id From: https://www.cnblogs.com/gaosj20210301/p/17680315.html