Что касается Python: согласно документации:
Internally, a list is represented as an array; the largest costs come from growing beyond the current allocation size (because everything must move), or from inserting or deleting somewhere near the beginning (because everything after that must move).
Как видим, внутренне list представляет собой массив, для tuple - аналогично.