gpt4 book ai didi

python - Python (2.7) 可用的数据结构是否比标准库中的标准列表、集合、元组字典更多?

转载 作者:行者123 更新时间:2023-11-28 19:32:37 25 4
gpt4 key购买 nike

我一直在学习有关算法的 coursera 类(class),在我看来,Python 没有像那里介绍的那样丰富的数据结构集合。

Java 的集合看起来更加多样化。

例如,如果我想让集合专门用于在末尾/中间插入,或者允许重复的排序数据结构。

我是否需要自己实现这些集合,或者我只是没有足够努力地寻找它们?

最佳答案

Python 的标准库和外部库包含许多额外的数据结构:

  • 查看 collections namedtuple、deque、Counters、OrderedDict 和 defaultdict 的模块。

  • 查看 heapq堆模块,可用作优先级队列。

  • 参见 numpy/scipy用于 n 维矩阵数据类型,包括所有可以想到的线性代数,类似于 Matlab。

  • 参见 networkx用于图形数据类型和算法。

  • 参见 blist对于作为 b-tree 实现的列表, 这对于插入到列表中间有更好的性能。

  • 参见 bisect用于在排序列表中搜索/插入。

  • 参见 datetime用于时间计算的数据类型。

  • 参见 queue用于可用于消息的线程安全传递的队列。

  • 参见 collections.deque对于双端队列,您可以在其中高效地添加和删除任一侧的项目(但中间的随机访问成本更高)。

  • 参见 fractions对于带有小数的老式数学的数据类型

可能很难找到尚未在 Python 中实现的数据类型,或者在某些 C/fortran 库中使用 Python 绑定(bind)实现的数据类型。可能有一些数据类型(如链表)在 Python 中并未真正使用,因为有更好/更简单的替代方案。

关于python - Python (2.7) 可用的数据结构是否比标准库中的标准列表、集合、元组字典更多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22127088/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com