Python,变量存储在内存中

Ama*_*agi 5 python

a=[1234,1234] #list

a      
[1234, 1234] 

id(a[0])      
38032480

id(a[1])      
38032480

b=1234 #b is a variable of integer type

id(b)      
38032384
Run Code Online (Sandbox Code Playgroud)

为什么id(b)与python中的id(a [0])和id(a [1])不同?

tom*_*dar 1

没有规则或保证表明 id(a[0]) 应等于 id(a[1]),因此问题本身没有实际意义。您应该问的问题是为什么id(a[0])id(a[1])实际上是相同的。
如果您这样做a.append(1234)id(a[2])您可能会也可能不会获得相同的 id。正如@hiro protagonist所指出的,这些只是您不应该依赖的内部优化。