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

Hou*_* Lu 6 python arrays

array.array在Python中使用时遇到了一些困惑.这是代码:

import array

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

for e in range(4):
    print(a[e], id(a[e]))
Run Code Online (Sandbox Code Playgroud)

结果让我困惑:

1000 140505536637552
2000 140505536637488
3000 140505536637552
4000 140505536637488
Run Code Online (Sandbox Code Playgroud)

为什么a[0]ID与a[2]?我使用Python 3.7.

-----------补充--------------
正如@Mad物理学家所说,这是打印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
Run Code Online (Sandbox Code Playgroud)

我认为这是由于GC和内存管理机制.