Эквивалент Python для контейнеров вектор / список C ++ STL - PullRequest
16 голосов
/ 09 января 2011

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

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

Ответы [ 4 ]

12 голосов
/ 09 января 2011

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

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

9 голосов
/ 09 января 2011

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

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

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

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

0 голосов
/ 09 января 2011

Списки являются последовательностями.

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

append аналогичен push_back, см. Также другие методы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...