假设有以下字典列表:
data = [
{'name': 'Tom', 'date': '2021-01-03T12:00:00Z'},
{'name': 'Jerry', 'date': '2021-01-02T12:00:00Z'},
{'name': 'Bob', 'date': '2021-01-05T12:00:00Z'},
{'name': 'Alice', 'date': '2021-01-01T12:00:00Z'}
]
我们想按照'name'键值过滤出包含'name'键对应值为'Tom'和'Bob'的字典,并按照'date'键值排序。可以使用以下代码实现:
filtered_data = sorted(
filter(lambda x: x['name'] in ['Tom', 'Bob'], data),
key=lambda x: x['date']
)
print(filtered_data)
输出结果为:
[{'name': 'Alice', 'date': '2021-01-01T12:00:00Z'},
{'name': 'Jerry', 'date': '2021-01-02T12:00:00Z'},
{'name': 'Tom', 'date': '2021-01-03T12:00:00Z'},
{'name': 'Bob', 'date': '2021-01-05T12:00:00Z'}]
其中,filter()函数根据lambda表达式的条件过滤出包含'name'键对应值为'Tom'和'Bob'的字典,sorted()函数根据lambda表达式的条件按照日期时间排序。