用于编程的Python数据结构竞赛 在C++中,Python中的等效数据结构是什么?作为一个参赛者,我一直在编程竞赛中使用C++ STL。所以,向量,集合,映射,队列,优先级队列,配对,所有这些都派上了用场。最近,我尝试使用python解决一些问题。但找不到相同的结构。那么,Python中类似的数据结构是什么?如果不可用,实现这些的技巧是什么?

用于编程的Python数据结构竞赛 在C++中,Python中的等效数据结构是什么?作为一个参赛者,我一直在编程竞赛中使用C++ STL。所以,向量,集合,映射,队列,优先级队列,配对,所有这些都派上了用场。最近,我尝试使用python解决一些问题。但找不到相同的结构。那么,Python中类似的数据结构是什么?如果不可用,实现这些的技巧是什么?,python,c++,data-structures,Python,C++,Data Structures,列表、集合和映射(称为字典)是python内置的。对于其他人,请参见collections模块(尤其是collections.deque适用于队列)C++=>Python Map=>Dict,Set=>Set,Vector=>List,Pair=>Tuple不知道队列和类似的时间戳。正如我在文档中看到的,Set确实存储唯一的元素,但不按排序顺序存储。在C++中,插入和删除操作在SET成本(log(n))中都是时间复杂度,并保持它们的排序。有没有办法做到这一点?标准库中没有这样的东西,按照数学定义

列表、集合和映射(称为字典)是python内置的。对于其他人,请参见
collections
模块(尤其是
collections.deque
适用于队列)

C++=>Python Map=>Dict,Set=>Set,Vector=>List,Pair=>Tuple不知道队列和类似的时间戳。正如我在文档中看到的,Set确实存储唯一的元素,但不按排序顺序存储。在C++中,插入和删除操作在SET成本(log(n))中都是时间复杂度,并保持它们的排序。有没有办法做到这一点?标准库中没有这样的东西,按照数学定义,集合是无序的。我可以想出两种方法:一种是使用collections.OrderedDict(这是一种将键按插入顺序保存的hashmap)并忽略值。另一个是使用这个方法,python文档本身也提到了这个方法