自定义对象,使用自定义对象的姓名、年龄进行去重,排序,打印
时间: 2023-04-21 20:00:15 浏览: 85
首先,需要定义一个自定义对象,包含姓名和年龄两个属性:
```
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
```
接下来,我们可以创建一个包含多个Person对象的列表:
```
person_list = [
Person('张三', 20),
Person('李四', 22),
Person('王五', 20),
Person('赵六', 21),
Person('张三', 20),
Person('李四', 22)
]
```
去重可以使用set()函数,将列表转换为集合,再转换回列表:
```
person_list = list(set(person_list))
```
排序可以使用sorted()函数,指定按照年龄升序排序:
```
person_list = sorted(person_list, key=lambda x: x.age)
```
最后,可以使用for循环遍历列表,打印每个Person对象的姓名和年龄:
```
for person in person_list:
print(person.name, person.age)
```
相关问题
mybatisplus 自定义去重排序分页查询
mybatisplus 提供了方便的分页查询方法,但是没有提供去重和排序的功能,我们可以通过自定义 SQL 实现这些功能。
首先,我们需要自定义 SQL,例如:
```sql
SELECT DISTINCT id, name, age
FROM user
ORDER BY age DESC, id ASC
LIMIT #{offset}, #{limit}
```
然后,在 MybatisPlus 的 Mapper 接口中,定义一个方法,例如:
```java
public interface UserMapper extends BaseMapper<User> {
@Select("SELECT DISTINCT id, name, age FROM user ORDER BY age DESC, id ASC LIMIT #{offset}, #{limit}")
List<User> selectDistinctAndSortPage(Page<?> page);
}
```
最后,在 Service 中,调用自定义的 Mapper 方法,例如:
```java
public interface UserService {
Page<User> selectDistinctAndSortPage(Page<User> page);
}
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
@Override
public Page<User> selectDistinctAndSortPage(Page<User> page) {
List<User> records = userMapper.selectDistinctAndSortPage(page);
return page.setRecords(records);
}
}
```
这样就可以实现自定义去重排序分页查询了。
python list 去重 排序
在Python中,你可以通过多种方法对列表去重并排序。首先,我们来看如何去重:
1. **利用set**:可以将列表转换成集合(set),因为集合内的元素都是唯一的,然后再转回列表即可。这种方法会改变原列表的顺序。
```python
unique_list = list(set(lst))
```
2. **使用列表推导式**:遍历列表,只添加第一次遇到的元素。
```python
unique_list = [x for i, x in enumerate(lst) if x not in lst[:i]]
```
然后,对于排序,Python提供了内置函数`sorted()`或列表的`sort()`方法,它们可以对列表进行排序:
- `sorted()`是一个返回新列表的方法,不会改变原列表:
```python
sorted_list = sorted(unique_list)
```
- 或者直接在原列表上操作:
```python
lst.sort() # 如果不想创建新的列表,就在原地排序
```
如果你想按照特定规则(比如自定义函数),可以传入`key`参数:
```python
sorted_list = sorted(unique_list, key=lambda x: your_custom_sort_function(x))
```
阅读全文