📜  在Python中查找元组的大小

📅  最后修改于: 2022-05-13 01:54:30.009000             🧑  作者: Mango

在Python中查找元组的大小

元组是Python对象的集合,很像列表。存储在元组中的值序列可以是任何类型,并且它们由整数索引。
元组的值在语法上由“逗号”分隔。虽然没有必要,但更常见的是通过关闭括号中的值序列来定义元组。
Tuple 的大小是指 Tuple 对象占用的内存量(以字节为单位)。在本文中,我们将学习各种获取Python元组大小的方法。

1.使用getsizeof()函数:

getsizeof()函数属于 python 的 sys 模块。它已在以下示例中实现。

示例 1:

import sys
  
# sample Tuples
Tuple1 = ("A", 1, "B", 2, "C", 3)
Tuple2 = ("Geek1", "Raju", "Geek2", "Nikhil", "Geek3", "Deepanshu")
Tuple3 = ((1, "Lion"), ( 2, "Tiger"), (3, "Fox"), (4, "Wolf"))
  
# print the sizes of sample Tuples
print("Size of Tuple1: " + str(sys.getsizeof(Tuple1)) + "bytes")
print("Size of Tuple2: " + str(sys.getsizeof(Tuple2)) + "bytes")
print("Size of Tuple3: " + str(sys.getsizeof(Tuple3)) + "bytes")

输出:

Size of Tuple1: 96bytes
Size of Tuple2: 96bytes
Size of Tuple3: 80bytes

注意: sys.getsizeof()函数包括边际空间使用量,其中包括对象的垃圾收集开销。这意味着除了正在使用的空间的垃圾收集开销之外,它还返回对象占用的总空间。

1.使用内置__sizeof__()方法:

Python还有一个内置的 __sizeof__() 方法来确定对象的空间分配,而无需任何额外的垃圾值。它已在以下示例中实现。
示例 2:

# sample Tuples
Tuple1 = ("A", 1, "B", 2, "C", 3)
Tuple2 = ("Geek1", "Raju", "Geek2", "Nikhil", "Geek3", "Deepanshu")
Tuple3 = ((1, "Lion"), ( 2, "Tiger"), (3, "Fox"), (4, "Wolf"))
  
# print the sizes of sample Tuples
print("Size of Tuple1: " + str(Tuple1.__sizeof__()) + "bytes")
print("Size of Tuple2: " + str(Tuple2.__sizeof__()) + "bytes")
print("Size of Tuple3: " + str(Tuple3.__sizeof__()) + "bytes")

输出:

Size of Tuple1: 72bytes
Size of Tuple2: 72bytes
Size of Tuple3: 56bytes