黑白Python Range()与Numpy.arange()函数有什么区别?

我在网络搜索中了解到numpy.arange比python range函数占用更少的空间。但是我尝试过 在下面使用它给我不同的结果。

import sys

x = range(1,10000)
print(sys.getsizeof(x))  # --> Output is 48

a = np.arange(1,10000,1,dtype=np.int8)
print(sys.getsizeof(a))  # --> OutPut is 10095

有人可以解释吗?