Skip to content

Commit

Permalink
bpo-33888: Use CPython instead of Python in the FAQ (pythonGH-7767)
Browse files Browse the repository at this point in the history
Make the change where discussing the CPython implementation of lists and dicts.
  • Loading branch information
andresdelfino authored and terryjreedy committed Jul 7, 2018
1 parent 9c5ba09 commit 8d41278
Showing 1 changed file with 6 additions and 6 deletions.
12 changes: 6 additions & 6 deletions Doc/faq/design.rst
Original file line number Diff line number Diff line change
Expand Up @@ -470,10 +470,10 @@ you can always change a list's elements. Only immutable elements can be used as
dictionary keys, and hence only tuples and not lists can be used as keys.


How are lists implemented?
--------------------------
How are lists implemented in CPython?
-------------------------------------

Python's lists are really variable-length arrays, not Lisp-style linked lists.
CPython's lists are really variable-length arrays, not Lisp-style linked lists.
The implementation uses a contiguous array of references to other objects, and
keeps a pointer to this array and the array's length in a list head structure.

Expand All @@ -486,10 +486,10 @@ when the array must be grown, some extra space is allocated so the next few
times don't require an actual resize.


How are dictionaries implemented?
---------------------------------
How are dictionaries implemented in CPython?
--------------------------------------------

Python's dictionaries are implemented as resizable hash tables. Compared to
CPython's dictionaries are implemented as resizable hash tables. Compared to
B-trees, this gives better performance for lookup (the most common operation by
far) under most circumstances, and the implementation is simpler.

Expand Down

0 comments on commit 8d41278

Please sign in to comment.