首页 > 解决方案 > 在多个大列表python之间搜索的最佳方法

问题描述

BG:所有数据都来自数据库,我已将其传递给 pandas DataFrame。我通过将多个唯一列连接在一起来创建 id。最终目标是在 main_list 上进行字符串连接。例如

1. id 2. item (item2 = item_group = item_name = item_value,item_name2 = item_value2, item3 = item_name = item_value)

我尝试过线性搜索,但性能真的很差,每个列表都有大约 10 万条记录。

所以我有一个包含一组项目的主列表

1. id 2. item (this is my item to search,item2,item3,item4)

搜索列表 A /item_group 列表包含(所以我会先尝试匹配 item_group 以查看它是否存在于当前列表中)搜索列表 A 的问题是 item_group 可以包含多个 item_name 所以匹配 item_group,我需要item_name 值,以便我可以在搜索列表 B 中搜索

1. item_group 2. item_name 3. id

搜索列表 B可以称为 sub_item 列表包含(然后我将匹配 item_name 以查看它是否存在于此)

1. item_name 2. item_value 3. id

尝试的方法

尝试根据第二个列表创建一个 dicts 以有效搜索但仍然存在性能问题需要很长时间才能填充 dict 考虑进行连接

从图片上看,基于 ID 的加入实际上并不起作用,因为 1 个 id 可以包含多个项目 在此处输入图像描述

标签: pythondataframesearch

解决方案


推荐阅读