我有一些数据存储在 tuple_list
和 dictionaries_list
中,这两个列表中都可能包含成千上万条记录。
我想要从 dictionaries_list
中根据 tuple_list
中的记录进行筛选。目前我写了以下代码,但是由于它必须遍历字典列表的每个元素才能得到列表的元素,所以需要很长时间。
# tuple_list can be like [(('s', 45), ('t', 30)), (('s', 5), ('t', 3))]
for target_tuple in tuple_list:
# target_tuple can have data like (('s', 45), ('t', 30))
# dictionaries_list can have data like [{'a': 5, 's': 45, 't': 10}, {}, {}]
if some_parameter == 'something':
m1_dicts = [d for d in dictionaries_list if d['s'] == target_tuple[0][1]]
else:
m1_dicts = [d for d in dictionaries_list if d['t'] == target_tuple[0][1]]
请提供一些改进的方法,以提高这个问题的解决效率。