自定义类传入lambda
时间: 2023-09-20 18:08:43 浏览: 52
keras Lambda自定义层实现数据的切片方式,Lambda传参数
可以将lambda表达式作为参数传递给自定义类的方法或构造函数,然后在方法或构造函数内部使用该lambda表达式。
例如,假设有一个自定义的Person类,其中包含一个sort方法,可以通过传入一个lambda表达式来对Person对象进行排序:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def sort(self, key=lambda x: x.name):
return sorted(self, key=key)
people = [Person('Alice', 25), Person('Bob', 30), Person('Charlie', 20)]
# 使用lambda表达式按年龄排序
sorted_people = people.sort(key=lambda x: x.age)
```
在上面的例子中,sort方法接受一个名为key的参数,该参数是一个lambda表达式,用于指定排序的键。使用lambda表达式可以方便地自定义排序规则,而不需要定义一个单独的函数。
阅读全文