Python中是否有类似的东西,我可以将其用于类似于向量和列表的容器?任何链接也会很有帮助。
t0ybt7op1#
你可以使用内置列表--底层实现类似于C++ vector。尽管有些东西不同--例如,你可以把不同类型的对象放在同一个列表中。http://effbot.org/zone/python-list.htm
注意:请记住,vector和list是两种非常不同的数据结构。List是异构的,即可以存储不同的对象类型,而C++ vector是同构的。vector中的数据以***线性排列***存储,而 *list中的数据是对变量类型和内存地址的引用 * 的集合。
dzjeubhm2#
看看Python的datastructures页面,这里有一个粗略的翻译:1.()=〉boost::Tuple(有一个重要的区别,你不能在Python元组中重新赋值)1.[] =〉std::vector(正如评论中提到的,缺少与向量相关的内存特性)1.[] =〉标准::列表1.{} =〉tr 1::无序Map或boost::无序Map(本质上是一个哈希表)1.设置()=〉标准::设置
ru9i0ody3#
| 皮|人民党|| - ------|- ------|| 双端|双端|| PriorityQueue(或者您可以使用堆)|优先级队列|| 集|无序集|| 列表|向量|| 缺省字符(整数)|无序Map|| 列表|栈|| 双端|排队|| 获取(值,0)|无序Map|在py〉= 3.7时,dict记住插入顺序。https://stackoverflow.com/a/51777540/13040423如果您需要树Map/树集https://github.com/grantjenks/python-sortedcontainers
gojuced74#
列表是序列。参见http://docs.python.org/tutorial/datastructures.htmlappend类似于push_back,请参阅其他方法。
mwngjboj5#
Python还有一个array类型作为标准库的一部分,它更高效,并且成员类型是受约束的。如果您需要认真对待大型向量/数组的高效操作,也可以参考numpy(不是标准库的一部分)。
5条答案
按热度按时间t0ybt7op1#
你可以使用内置列表--底层实现类似于C++ vector。尽管有些东西不同--例如,你可以把不同类型的对象放在同一个列表中。
http://effbot.org/zone/python-list.htm
注意:请记住,vector和list是两种非常不同的数据结构。List是异构的,即可以存储不同的对象类型,而C++ vector是同构的。vector中的数据以***线性排列***存储,而 *list中的数据是对变量类型和内存地址的引用 * 的集合。
dzjeubhm2#
看看Python的datastructures页面,这里有一个粗略的翻译:
1.()=〉boost::Tuple(有一个重要的区别,你不能在Python元组中重新赋值)
1.[] =〉std::vector(正如评论中提到的,缺少与向量相关的内存特性)
1.[] =〉标准::列表
1.{} =〉tr 1::无序Map或boost::无序Map(本质上是一个哈希表)
1.设置()=〉标准::设置
ru9i0ody3#
| 皮|人民党|
| - ------|- ------|
| 双端|双端|
| PriorityQueue(或者您可以使用堆)|优先级队列|
| 集|无序集|
| 列表|向量|
| 缺省字符(整数)|无序Map|
| 列表|栈|
| 双端|排队|
| 获取(值,0)|无序Map|
在py〉= 3.7时,dict记住插入顺序。https://stackoverflow.com/a/51777540/13040423
如果您需要树Map/树集
https://github.com/grantjenks/python-sortedcontainers
gojuced74#
列表是序列。
参见http://docs.python.org/tutorial/datastructures.html
append类似于push_back,请参阅其他方法。
mwngjboj5#
Python还有一个array类型作为标准库的一部分,它更高效,并且成员类型是受约束的。
如果您需要认真对待大型向量/数组的高效操作,也可以参考numpy(不是标准库的一部分)。