@@ -470,10 +470,10 @@ you can always change a list's elements. Only immutable elements can be used as |
|
|
470 |
470 |
dictionary keys, and hence only tuples and not lists can be used as keys. |
471 |
471 |
|
472 |
472 |
|
473 |
|
-How are lists implemented? |
474 |
|
--------------------------- |
|
473 |
+How are lists implemented in CPython? |
|
474 |
+------------------------------------- |
475 |
475 |
|
476 |
|
-Python's lists are really variable-length arrays, not Lisp-style linked lists. |
|
476 |
+CPython's lists are really variable-length arrays, not Lisp-style linked lists. |
477 |
477 |
The implementation uses a contiguous array of references to other objects, and |
478 |
478 |
keeps a pointer to this array and the array's length in a list head structure. |
479 |
479 |
|
@@ -486,10 +486,10 @@ when the array must be grown, some extra space is allocated so the next few |
|
|
486 |
486 |
times don't require an actual resize. |
487 |
487 |
|
488 |
488 |
|
489 |
|
-How are dictionaries implemented? |
490 |
|
---------------------------------- |
|
489 |
+How are dictionaries implemented in CPython? |
|
490 |
+-------------------------------------------- |
491 |
491 |
|
492 |
|
-Python's dictionaries are implemented as resizable hash tables. Compared to |
|
492 |
+CPython's dictionaries are implemented as resizable hash tables. Compared to |
493 |
493 |
B-trees, this gives better performance for lookup (the most common operation by |
494 |
494 |
far) under most circumstances, and the implementation is simpler. |
495 |
495 |
|