用于存储、计算和映射的 Python 数据结构
Posted
技术标签:
【中文标题】用于存储、计算和映射的 Python 数据结构【英文标题】:Python datastructure for storage, computing and mapping 【发布时间】:2018-09-03 07:15:24 【问题描述】:我的数据可能会采用这种格式:
1-通用
Type_A=10, Type_B=20, Type_C=30
本地集 1:
Type_D=40, Type_C =30, Type_B=10, Type_A=15, Type_E=45
(即A、B、C、D、E可能不按顺序排列)
本地集 2:
Type_C =40, Type_B=5
4,5,6….等等将分别具有不同的类型和值。
每次我必须将通用与单个本地集合进行比较并取最大值。 这里 1 代表通用,我将依次获取其他值。 我必须取每种类型的最大值并将其存储为:
本地集 1:
A=15, B=20, C=30, D=40, E=45
(D,E 在通用中不存在,因此我们采用局部集合 1 的值)
本地集 2:
B=20, C=40
在 python 中哪个是计算相同数据的最佳数据结构? 我考虑过的选项(本地设置):
以列表为值的类型的本地字典集的字典
1:A:[10,40], B:[20,10], C:[30,30], D:[0,40], E:[0,45],
2: B:[20,5], C:[30,40]
请注意,类型实际上不是连续的,可以按任意顺序附加,即 A、B、C、D、E 很可能是 D、A、C、B、E 等。
如果有人能告诉我如何引用它以及我是 python 新手,我将不胜感激。 (例如,我如何访问或存储类型 C 的本地集 2 中的 40)
我正在使用 python 2.6。提前致谢。
【问题讨论】:
我会为此选择一本字典。您的数据是无序的这一事实有助于使用dict
。字典不起作用有什么具体原因吗?表现]? “是否有其他方法”的一般问题可能过于宽泛——通常我们想知道需要解决的问题,例如内存消耗、性能、可用性等。
【参考方案1】:
选择数据结构完全取决于您希望如何使用数据。例如,如果您需要快速访问结构中的命名元素,那么是的,字典是一个不错的选择。如果您需要帮助学习如何在 Python 中操作数据结构,那么您应该阅读a tutorial。
另外,请不要在 *** 上问“你能推荐一个...”类型的问题。这些问题的答案主要基于意见,并邀请对未来的 SO 读者没有帮助的答案。
附带说明:您为什么使用 Python 2.6 而不是 2.7?如果你必须使用 Python 2,2.7 可以说更好。
【讨论】:
以上是关于用于存储、计算和映射的 Python 数据结构的主要内容,如果未能解决你的问题,请参考以下文章
内存映射文件 IList 实现,用于“在内存中”存储大型数据集?