python merge 多条件
时间: 2023-08-30 19:10:46 浏览: 53
在Python中,可以使用`sorted`和`lambda`函数来实现多条件的合并。下面是一个示例:
假设有一个包含多个字典的列表,每个字典包含一个人的姓名、年龄和工资。现在需要按照年龄和工资的顺序对列表进行排序。
```python
people = [
{'name': 'Alice', 'age': 25, 'salary': 50000},
{'name': 'Bob', 'age': 30, 'salary': 60000},
{'name': 'Charlie', 'age': 35, 'salary': 70000},
{'name': 'David', 'age': 25, 'salary': 55000},
{'name': 'Eve', 'age': 30, 'salary': 65000},
{'name': 'Frank', 'age': 35, 'salary': 75000},
]
```
可以使用`sorted`函数来排序:
```python
sorted_people = sorted(people, key=lambda p: (p['age'], p['salary']))
```
这个`lambda`函数定义了两个排序条件:年龄和工资。`sorted`函数将按照这两个条件对列表进行排序,并返回一个新的已排序的列表。
输出结果为:
```
[
{'name': 'Alice', 'age': 25, 'salary': 50000},
{'name': 'David', 'age': 25, 'salary': 55000},
{'name': 'Bob', 'age': 30, 'salary': 60000},
{'name': 'Eve', 'age': 30, 'salary': 65000},
{'name': 'Charlie', 'age': 35, 'salary': 70000},
{'name': 'Frank', 'age': 35, 'salary': 75000},
]
```
可以看到,列表已按照年龄和工资的顺序排序。