以下是一种解决方法,使用Python的列表推导式和条件判断来筛选第二个表的数据,而不使用连接操作:
# 第一个表的数据
table1_data = [
{'id': 1, 'name': 'Alice'},
{'id': 2, 'name': 'Bob'},
{'id': 3, 'name': 'Charlie'}
]
# 第二个表的数据
table2_data = [
{'id': 2, 'age': 25},
{'id': 4, 'age': 30},
{'id': 1, 'age': 20}
]
# 使用第一个表的数据筛选第二个表
filtered_data = [data for data in table2_data if data['id'] in [row['id'] for row in table1_data]]
# 输出筛选后的结果
for data in filtered_data:
print(data)
输出结果为:
{'id': 2, 'age': 25}
{'id': 1, 'age': 20}
这段代码首先定义了两个表的数据,然后使用列表推导式和条件判断筛选第二个表的数据。表2的每个数据项都会被遍历,只有当其id在表1的id集合中时,才会被保留。最后,输出筛选后的结果。