CPython list thực chất là 1 array
by Pymier0
Trong CPython (bản/implementation Python phổ biến nhất - tải tại python.org), kiểu dữ liệu list thực chất là 1 array tương tự như array trong các ngôn ngữ lập trình khác (C/Java…). Nó không phải kiểu linked-list mà trong ngành khoa học máy tính thường hay gọi là (linkedlist) list (xem link phần tham khảo).
Thư viện standard deque
cung cấp kiểu dữ liệu double-ended queue
, giống
với kiểu double linked list
. Và thư viện array
cung cấp kiểu dữ liệu…
array (như list với yêu cầu các phàn tử phải cùng kiểu).
deque
có thể dùng để lấy 10 dòng cuối của 1 file rất đơn giản, dùng ít
bộ nhớ:
def tail(filename, n=10):
'Return the last n lines of a file'
with open(filename) as f:
return deque(f, n)
Tham khảo
- https://docs.python.org/3/faq/design.html#how-are-lists-implemented-in-cpython
- https://docs.python.org/3/library/collections.html#collections.deque
- https://docs.python.org/3/library/array.html
- https://www.geeksforgeeks.org/linked-list-vs-array/
Đăng ký ngay tại PyMI.vn để học Python tại Hà Nội TP HCM (Sài Gòn), trở thành lập trình viên #python chuyên nghiệp ngay sau khóa học.