Hacker News new | ask | show | jobs
by detaro 2192 days ago
List is pretty much an interface, and Python lists do support things you expect from a List type, but not from an Array (e.g. inserting/removing things at random positions). The interface doesn't say if it's an array, a linked list, a rope, ... underneath, and you don't need to care at this point.
1 comments

This is wrong, the Python list supports random access and random access inserts and removals. It's a dynamic size array underneath, and contiguous, so it's pretty much the same as a std::vector of Python objects.

Also notably a Python list does NOT have an efficent pop operation at both ends, only on the far end.

Doc: https://docs.python.org/3/library/stdtypes.html#list

None of what you say seems to contradict what I said, so what exactly in my comment is wrong?
I read that the list:

> but not from an Array (e.g. inserting/removing things at random positions)

But it does support those operations