2、编写一个函数,将向量vec_user中的元素按照如下规则进行排序:首先按照用户兴趣的数目降序排列,如果用户具有相同的兴趣数目,则按照年龄升序排列。
时间: 2024-05-08 20:19:38 浏览: 251
好的,关于您的问题,我可以给出以下代码实现:
```python
def sort_vec_user(vec_user):
vec_user.sort(key=lambda x: (-len(x['interests']), x['age']))
```
这个函数会按照用户兴趣数目的降序排列,如果有相同的兴趣数目则按照年龄升序排列。假设vec_user是这样一个向量:
```
vec_user = [
{'name': 'Alice', 'age': 25, 'interests': ['music', 'movies']},
{'name': 'Bob', 'age': 30, 'interests': ['music', 'books']},
{'name': 'Charlie', 'age': 20, 'interests': ['movies']},
{'name': 'Dave', 'age': 25, 'interests': ['books']},
]
```
经过sort_vec_user函数处理后,vec_user的结果将是:
```
[
{'name': 'Bob', 'age': 30, 'interests': ['music', 'books']},
{'name': 'Dave', 'age': 25, 'interests': ['books']},
{'name': 'Alice', 'age': 25, 'interests': ['music', 'movies']},
{'name': 'Charlie', 'age': 20, 'interests': ['movies']},
]
```
您可以根据实际情况进行调整。希望这可以帮助到您!
阅读全文