两个集合我想删除集合中的对象的属性名一样的
时间: 2024-05-12 17:19:23 浏览: 7
代码示例:
```python
set1 = [{'name': 'Alice', 'age': 25}, {'name': 'Bob', 'age': 30}, {'name': 'Charlie', 'age': 35}]
set2 = [{'name': 'Alice', 'gender': 'female'}, {'name': 'Bob', 'gender': 'male'}, {'name': 'Charlie', 'gender': 'male'}]
for item1 in set1:
for item2 in set2:
if item1['name'] == item2['name']:
del item1['age']
del item2['gender']
break
print(set1)
print(set2)
```
输出结果:
```
[{'name': 'Alice'}, {'name': 'Bob'}, {'name': 'Charlie'}]
[{'name': 'Alice'}, {'name': 'Bob'}, {'name': 'Charlie'}]
```
解析:
1. 首先定义了两个集合 set1 和 set2。
2. 通过双重循环遍历两个集合中的元素。
3. 如果两个元素的 name 属性相同,则分别删除它们的 age 和 gender 属性。
4. 在循环中使用 break 语句跳出内层循环,避免不必要的比较。
5. 最后打印出处理后的两个集合。