[Python-ideas] Multi-index Containers Library

Todd toddrjen at gmail.com
Mon Dec 1 16:49:52 CET 2014


On Dec 1, 2014 4:03 PM, "David Wilson" <dw+python-ideas at hmmz.org> wrote:
>
> > before it would be useful to include in the stdlib, along with some
> > motivating use cases
>
> One example would be a continuous auction, like a stock exchange order
> book. In that case, efficient enumeration is desirable by all of
> account ID, order ID, or (price, time).
>
>     book = IndexedList()
>     book.add_unique_index('order_id', lambda o: o.id)
>     book.add_index('account_id', lambda o: o.account_id)
>     book.add_index('price_time', lambda o: (o.price, o.time))
>
>     def add_order(order):
>         book.append(order)
>
>     def del_order(order):
>         del book.indices['order_id'][order.id]
>
>     def close_account(account_id):
>         del book.indices['account_id'][account_id]
>
>     def iter_matches(limit_price):
>         for (price, time), order in book.indices['price_time']:
>             if price > limit_price:
>                 break
>             yield order
>
> Again it's not very clear how the magical 'indices' object slices would
> work.

You can also use pandas for this.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20141201/76170e27/attachment.html>


More information about the Python-ideas mailing list