找出各种文档中的常用词python

2024-06-06 08:07:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件,它是这样的:

 book_store_id  book_price   name

 1              200.0        foo
 1              320.0        bar
 2              220.0        foobar
 2              280.0        foo

所以。。这是一个巨大的清单。。在

现在我想知道如果输入是“foo”

既然1号书店的“foo”标明了最低价格,那么我想返回“book_store”1

现在我要做的是创建一个反向索引,它返回类似

^{pr2}$

等等,然后是一本单独的字典,我在那里维持着书店里书的价格。。但这是解决这个问题的最好办法吗。在

在python中解决这个问题最有效的方法是什么?在


Tags: 文件csvstorenameid字典foobar
2条回答

我将创建第三个数据结构(python dict或数据库表或其他任何东西)。在

数据结构键应该是名称(假设名称是唯一的)。在

此“名称”关键点的值应为最低价格。在

每次插入新书或更新图书价格时,都要在第三个数据结构中查找图书最低价格,如果低于最低价格,则设置新的最低价格。在

别忘了,如果你删除了一本书,或者提高了价格,一定要更新最低价格。 (您可以添加另一列,这样每本书都有一个布尔值“is current minimum”。如果价格上涨,你只需要更新最低价格。在

问题是,当你删除旧的最小值时,你需要找到下一个最佳最小值。在

这是个好地方

python有一个很好的heapq实现,如下所示: http://docs.python.org/library/heapq.html

否则,每次涨价时,你必须遍历所有值以找到新的最小值,或者每次都必须存储5个最佳价格。在

玩得开心:)

这完全取决于你处理的数据量。如果金额不是太高,那么你所做的一切都很好。在

相关问题 更多 >