python - 在多个大列表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 考虑进行连接
解决方案
推荐阅读
- django - 如果查询集是单个对象,如何将 ListView 重定向到 DetailView?
- sql - 如何获取字符串中带有“$”的数据的平均值
- ruby - Ruby .to_i 没有按预期返回完整的整数
- python - 如何在一天内的特定时间段内应用累积python函数,然后从第二天开始重置
- java - 如何在 Java 中从此实例中获取实例变量名
- python - 将文本文件中的单词列表转换为单词向量
- r - 自相关变量与年度时间步长的互相关
- docker - 无法使用 Docker 为 Golang 应用程序创建映像
- java - 使用矩形进行游戏碰撞检测
- c# - Windows 服务中的 SQL 注入?