Эквивалент Python для контейнеров вектора / списка STL C++
есть ли что-то подобное в Python что я бы использовал для контейнера, который похож на вектор и список?
любые ссылки тоже были бы полезны.
4 ответов
вы можете использовать встроенный список-базовая реализация похожа на вектор C++. Хотя некоторые вещи отличаются - например, вы можете поместить объекты разного типа в один и тот же список.
посмотрите на Python в datastructures страница. Вот приблизительный перевод:
- () = > boost::Tuple (с одним важным отличием вы не можете переназначить значения в кортеже Python)
- [] => std:: vector (как показали комментарии, отсутствуют характеристики памяти, связанные с векторами)
- [] => std:: list
- {} => tr1::unordered_map или boost:: unordered_map (по существу хэш-таблица)
- set () => std:: set
списки-это последовательности.
см.http://docs.python.org/tutorial/datastructures.html
append похож на push_back, см. другие методы.
Python также имеет в составе стандартной библиотеки array тип, который является более эффективным и тип элемента ограничена.
вы также можете посмотреть на включает в себя (не часть стандартной библиотеки), если вам нужно серьезно относиться к эффективной манипуляции большими векторами/массивами.