Эквивалент Python для контейнеров вектора / списка STL C++

есть ли что-то подобное в Python что я бы использовал для контейнера, который похож на вектор и список?

любые ссылки тоже были бы полезны.

4 ответов


вы можете использовать встроенный список-базовая реализация похожа на вектор C++. Хотя некоторые вещи отличаются - например, вы можете поместить объекты разного типа в один и тот же список.

http://effbot.org/zone/python-list.htm


посмотрите на Python в datastructures страница. Вот приблизительный перевод:

  1. () = > boost::Tuple (с одним важным отличием вы не можете переназначить значения в кортеже Python)
  2. [] => std:: vector (как показали комментарии, отсутствуют характеристики памяти, связанные с векторами)
  3. [] => std:: list
  4. {} => tr1::unordered_map или boost:: unordered_map (по существу хэш-таблица)
  5. set () => std:: set

списки-это последовательности.

см.http://docs.python.org/tutorial/datastructures.html

append похож на push_back, см. другие методы.


Python также имеет в составе стандартной библиотеки array тип, который является более эффективным и тип элемента ограничена.

вы также можете посмотреть на включает в себя (не часть стандартной библиотеки), если вам нужно серьезно относиться к эффективной манипуляции большими векторами/массивами.