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

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

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

 Kabie09 янв. 2011 г., 05:52
Для связанного списка:[a0,[a1,[a2,[a3,[...]]]]]

Ответы на вопрос(4)

datastructures стр. Вот грубый перевод:

() => boost :: Tuple (с одним важным отличием вы не можете переназначить значения в кортеже Python)[] => std :: vector (как отмечалось в комментариях, отсутствуют характеристики памяти, связанные с векторами)[] => std :: list{} => tr1 :: unordered_map или boost :: unordered_map (по сути хеш-таблица)set () => std :: set
 Amber09 янв. 2011 г., 04:25
Ну, это может быть ... это зависит от реализации поддержки. Но в CPython, да,[] знак равноstd::list.
 user39576009 янв. 2011 г., 07:56
@Amber: Пожалуйста, уточни. Какая структура данных "близка к связанному списку", но предлагает, например, O (1) индексирование и добавление?
 user39576009 янв. 2011 г., 06:34
@Amber: Ни одна реализация Python никогда не осмелится использовать связанные списки для встроенныхlist тип. Это полностью испортило бы каждый фрагмент кода, который полагается на то, что индексирование равно O (1) (абсолютно правильное предположение), т. Е. Действительно много. Мы можем смело игнорировать этот сценарий.
 Glenn Maynard09 янв. 2011 г., 03:34
[]! = std :: list.
 Amber09 янв. 2011 г., 07:54
@delnan Однако существуют резервные копии структур данных, которые были бы намного ближе кstd::list чем реализация CPython.

видетьhttp://docs.python.org/tutorial/datastructures.html

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

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

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

Решение Вопроса

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

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

 Glenn Maynard09 янв. 2011 г., 03:33
Этот ответ неполон для принятия: класс списка не похож на std :: list. (В Python нет встроенной реализации связанного списка.)
 pandoragami09 янв. 2011 г., 02:02
Доступен ли линейный по времени O (1) доступ к вектору в виде массива в C ++?
 user39576009 янв. 2011 г., 02:06
То, что массивы называются списками (которые обычно используются в качестве ярлыка для связанного списка, который представляет собой совершенно другую структуру данных), является одной из немногих действительно неудачных вещей в Python.
 pandoragami09 янв. 2011 г., 02:13
Спасибо, у него есть показатели производительности внизу, хорошая информация!
 Johan Kotlinski09 янв. 2011 г., 02:04
Да, базовая реализация похожа на вектор C ++.

Ваш ответ на вопрос