Từ điển có nhanh hơn Tuple Python không?
Trong python chúng ta có hai loại đối tượng. 1. Có thể thay đổi, 2. bất biến. Trong danh sách python ** nằm dưới các đối tượng có thể thay đổi và ** bộ dữ liệu nằm dưới các đối tượng không thể thay đổi Show
Ưu điểm khi sử dụng bộ dữ liệu. ¶
Nhược điểm của tuple¶
Thẩm quyền giải quyết https. // tài liệu. con trăn. org/2/thư viện/chức năng. html#tuple Bài viết Blog liên quanDanh sách là một tập hợp cấu trúc dữ liệu không đồng nhất và có thứ tự trong python. Danh sách là cấu trúc dữ liệu được sử dụng nhiều nhất trong python. Hãy làm việc với Danh sách trong python string là kiểu dữ liệu được sử dụng nhiều nhất trong lập trình python. Hãy bắt đầu làm việc với các chuỗi trong python python tuple là một cấu trúc dữ liệu tuần tự. Các bộ dữ liệu được bảo vệ ghi, vì vậy, hãy sử dụng nó khi bạn xác định dữ liệu được bảo vệ ghi Từ điển chiếm nhiều không gian hơn một danh sách các bộ dữ liệu. Ngay cả một lệnh trống cũng chiếm nhiều không gian so với một danh sách các bộ dữ liệu ví dụ 1. Như chúng ta có thể thấy rõ ràng rằng có một sự khác biệt rất lớn giữa mức tiêu thụ bộ nhớ của cả hai kiểu dữ liệu khi cả hai đều trống
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1126 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1120
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1121 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1123 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1126 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1129 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11221 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11222 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127____224
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11225 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11227 đầu ra {} 240 [] 64 ví dụ 2. Do đó, trong ví dụ này, 3-4 phần tử trong dict và danh sách các bộ dữ liệu Python3{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1122 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1123
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11230 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11233 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11234 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11236 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11237 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11238 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11240 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11237 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11242 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11236 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11245 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1120 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1123 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11254 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11255 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11234 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11238 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11242 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1120 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11264 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11236 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11240 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11236 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1120 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11273 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11221____28 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11277 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11278 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127____280 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127____282 đầu ra {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 112 Một lần nữa, chúng ta có thể so sánh mức tiêu thụ bộ nhớ là 224 Byte trong dict trong khi 112 cho danh sách các bộ dữ liệu ví dụ 3. Hãy xem xét các phần tử 1-100 trong dict và danh sách các bộ dữ liệu và kiểm tra xem kết quả là gì Python3{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1122 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1123
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11230 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1126 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11289 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11240 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11241 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11242 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11234 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11246 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11247 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11248 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124____000 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11240 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1120 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1123 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1124 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125
{(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11254 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11212 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11221 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11242 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1128 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11234 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11235 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 11246 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1125 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127____023 {(3, 'G'), (1, 'G'), (2, 'F')} 224 [(1, 'G'), (2, 'F'), (3, 'G')] 1127____025 đầu ra
Đối với số lượng phần tử lớn hơn, chúng ta có thể thấy rõ rằng không có sự so sánh về mức tiêu thụ bộ nhớ. dict là gần 4. 7 lần danh sách các bộ chỉ cho 100 phần tử. Nếu chúng ta có hàng nghìn phần tử để lưu trữ, hãy nghĩ về bộ nhớ được lấy bởi một lệnh Chúng tôi đã xác định những thay đổi về kích thước của cả hai đối tượng sau khi thêm các phần tử được đề cập bên dưới Tại sao sử dụng từ điển thay vì tuple?Khoa học dữ liệu thực tế sử dụng Python
. Các đối tượng danh sách và từ điển có thể thay đổi i. e. có thể thêm mục mới hoặc xóa và mục từ nó. Tuple là một đối tượng bất biến. Các thao tác thêm hoặc xóa không thể thực hiện được trên đối tượng tuple. Dictionary is unordered collection. List and dictionary objects are mutable i.e. it is possible to add new item or delete and item from it. Tuple is an immutable object. Addition or deletion operations are not possible on tuple object.
Từ điển có nhanh hơn trong Python không?Danh sách là một tập hợp dữ liệu được sắp xếp theo thứ tự, trong khi các từ điển lưu trữ dữ liệu dưới dạng các cặp khóa-giá trị bằng cách sử dụng cấu trúc hashtable. Do đó, việc tìm nạp các phần tử từ cấu trúc dữ liệu danh sách khá phức tạp so với từ điển trong Python. Do đó, từ điển nhanh hơn danh sách trong Python .
Cái gì nhanh hơn từ điển Python?Tra cứu nhanh hơn trong từ điển vì Python triển khai chúng bằng cách sử dụng bảng băm. Nếu chúng ta giải thích sự khác biệt bằng các khái niệm Big O, từ điển có độ phức tạp thời gian không đổi, O(1) trong khi danh sách có độ phức tạp thời gian tuyến tính, O(n).
Bộ dữ liệu được đặt tên có nhanh hơn từ điển không?các bộ có tên là các bộ, nghĩa là chúng được lưu trữ hiệu quả và không đổi (do đó cũng có thể được sử dụng làm khóa từ điển). Không giống như các bộ dữ liệu thông thường, chúng có thể được truy cập như một lớp/từ điển để dễ đọc, nhưng yêu cầu phân bổ ít hơn nhiều (so với dict/class), nhanh hơn rất nhiều . |