Lambda-U 是一个轻量级的 Python 函数式编程工具库,提供了丰富的函数式编程工具和集合操作方法,帮助开发者写出更简洁、优雅的代码。
- 🛠 丰富的函数式编程工具(compose、pipe、curry 等)
- 📦 强大的集合操作(group_by、flatten、chunk 等)
- ⛓ 支持优雅的链式调用
- 🎯 完整的类型提示支持
- 🧪 全面的单元测试覆盖
- 📝 详细的文档说明
pip install lambda-ufrom lambda_u import LambdaBuilder, CollectionUtils, FunctionalUtilsf = lambda x: x * 2
g = lambda x: x + 1
composed = LambdaBuilder.compose(f, g)
print(composed(3)) # 输出: 8result = pipe(
1,
lambda x: x + 1,
lambda x: x 2
) # 输出: 4@curry
def add(x, y):
return x + y
add_one = add(1)
result = add_one(2) # 输出: 3users = [
{"name": "Alice", "age": 20},
{"name": "Bob", "age": 20},
{"name": "Charlie", "age": 25}
]
by_age = group_by(users, key="age")
# 输出: {20: [{'name': 'Alice', 'age': 20}, {'name': 'Bob', 'age': 20}], 25: [{'name': 'Charlie', 'age': 25}]}nested = [[1, 2], [3, 4]]
flat = flatten(nested) # 输出: [1, 2, 3, 4]
# 输出: [1, 2, 3, 4, 5, 6]numbers = [1, 2, 3, 4, 5, 6]
chunks = chunk(numbers, size=2) # 输出: [[1, 2], [3, 4], [5, 6]]compose(*functions): 从右到左组合多个函数pipe(value, *functions): 将值通过一系列函数传递curry(func): 函数柯里化装饰器
group_by(items, key): 根据键对集合进行分组flatten(items): 展平嵌套列表chunk(items, size): 将列表分割成固定大小的块
更多 API 详情请查看完整文档。
欢迎提交 Pull Request 和 Issue!在提交之前,请确保:
- 更新或添加相应的测试
- 更新相关文档
- 遵循项目的代码风格
本项目采用 MIT 许可证。详见 LICENSE 文件。
感谢所有贡献者对项目的支持!