为什么array.array的不同元素的ID相同?

时间:2019-01-20 07:26:29

标签: python arrays

在Python中使用array.array时,我感到有些困惑。这是代码:

import array

a = array.array('l', [1000, 2000, 3000, 4000])

for e in range(4):
    print(a[e], id(a[e]))

结果使我困惑:

1000 140505536637552
2000 140505536637488
3000 140505536637552
4000 140505536637488

为什么a[0]a[2]具有相同的ID?我使用的是Python 3.7。

-----------补充--------------
正如@Mad Physicist所建议的,这是两次打印id(a[e])的结果:

for e in range(4):
    print(a[e], id(a[e]), id(a[e]))

1000 139949448301712 139949448301712
2000 139949448299920 139949448299920
3000 139949448301136 139949448301136
4000 139949448301712 139949448301712

我认为这是由于GC和内存管理机制所致。

0 个答案:

没有答案