Sử dụng sys.getsizeof để lấy kích thước bộ nhớ (bytes) của đối tượng tuple.
Ví dụ
import sys
tuple_1 = ("A", 1, "B", 2, "C", 3)
tuple_2 = ("Java", "Lee", "Code", "Mark", "John")
tuple_3 = ((1, "Bill"), (2, "Ant"), (3, "Fox"), (4, "Cheetah"))
print("Tuple 1:", tuple_1)
print("Tuple 2:", tuple_2)
print("Tuple 3:", tuple_3)
print("Kích thước tuple 1:", sys.getsizeof(tuple_1), "bytes")
print("Kích thước tuple 2:", sys.getsizeof(tuple_2), "bytes")
print("Kích thước tuple 3:", sys.getsizeof(tuple_3), "bytes")
Kết quả
Tuple 1: ('A', 1, 'B', 2, 'C', 3)
Tuple 2: ('Java', 'Lee', 'Code', 'Mark', 'John')
Tuple 3: ((1, 'Bill'), (2, 'Ant'), (3, 'Fox'), (4, 'Cheetah'))
Kích thước tuple 1: 96 bytes
Kích thước tuple 2: 88 bytes
Kích thước tuple 3: 80 bytes
Giải thích
sys.getsizeoftrả về kích thước bộ nhớ của chính đối tượng tuple (không đệ quy tính kích thước phần tử bên trong).- Tuple 1 có 6 phần tử nhỏ -> 96 bytes.
- Tuple 2 có 5 chuỗi -> 88 bytes.
- Tuple 3 có 4 tuple con -> 80 bytes (chỉ tính con trỏ đến tuple con).
- Để tính kích thước đệ quy, cần dùng thư viện
pymplerhoặc viết hàm tự định nghĩa.