【发布时间】:2017-11-28 16:16:50
【问题描述】:
我有一组数据需要根据键来查找:
# fk is a comparsion function
# Keys go from 1 to n
# Assume that this is done whilst going through rows that have said keys and item inside
if f1(key1, val1) and f2(key2, val2)... and fn(keyn, valn):
return item
在 python 中进行这种查找最有效的数据结构和算法集合是什么。最好存在于默认库或维护良好的库中。目前我正在寻找类似于 boost 的多地图的东西,但我认为可能有更好的方法。
在我的情况下,我正好有 3 个键,比较函数是 '' 和 '==' 但我问的是一般情况,因为我认为可能会弹出类似的问题(或者可能有之前弹出,我找不到它们。
【问题讨论】:
-
我在这里没有看到任何比较 - 只有键/值对...
-
你的函数可以在列表中吗?您的密钥可以在列表中吗?
-
@khelwood 是的,是的,我不明白为什么不
-
@alfasin 我写的是一个通用案例,假设 fk 是一个函数,如果给定一个键和一个值,则返回一个布尔值
-
@George 如果我不得不问这个问题,我会问“我有一组来自 1...n 的键和一组来自 1...n 的值如何比较相同的键 或 == 值的索引”我只是说围绕这个问题转来转去会浪费每个人的时间。也不清楚 fk 是否是一个比较函数,为什么会有不同的 f
标签: python algorithm python-3.x search data-structures