簡體   English   中英

類似於Python的boost :: multi_index

[英]Something like boost::multi_index for Python

我已經開始在C ++中欣賞了很多boost :: multi_index。 碰巧我很樂意在Python中使用類似的東西; 用於處理來自數字密集型應用程序的數據的腳本。 Python有這樣的東西嗎? 我只是想確定它不存在,然后我會嘗試自己實現它。 對我來說不會做的事情:

  • 在Python中包裝boost :: multi_index。 它根本無法擴展。

  • 在內存中使用sqlite3。 這很難看。

由於python集合只存儲對象的引用,而不存儲對象本身,因此將一個集合與多個索引方案和只有多個集合之間的區別並不大。

例如,您可以對數據進行多次操作,每次使用不同的鍵來引用它們。

為了回答你在Python中是否存在類似事物的問題,我會說不。

Boost.MultiIndex的一個有用特性是可以就地修改元素(通過replace()或modify())。 Python的本機字典不提供這樣的功能,並且要求密鑰是不可變的。 我還沒有看到其他允許更改密鑰的實現。 所以在這個特定領域,沒有與Python中的Boost.MultiIndex類似的東西。

如果您只需要多個靜態數據視圖,那么我同意Radomir Dopieralski。 您可以在自己的類中包裝多個dicts,以提供統一的API以確保不同視圖之間的同步。 我不知道“性能感知轉換”是什么意思,但如果你在談論插入/刪除操作的計算復雜性,即使使用Boost.MultiIndex,“將元素插入到multi_index_container中也會簡化為一個簡單的組合對每個指數進行基本插入操作,類似地刪除。“

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM