{eval=Array;=+count(Array);}
Id:唯一標(biāo)識(shí)一個(gè)對(duì)象
Type:標(biāo)識(shí)對(duì)象的類(lèi)型
Value:對(duì)象的值
執(zhí)行結(jié)果:
發(fā)現(xiàn)l與l1實(shí)際是指向同一個(gè)對(duì)象,l2指向了新的對(duì)象(切片生成的新對(duì)象)。
l1 is l2 判斷 l1 對(duì)象是否就是l2對(duì)象(通過(guò)id來(lái)判斷)
l1 == l2 判斷 l1 對(duì)象的值是否和 l2 對(duì)象的值相等(通過(guò)value來(lái)判斷)
前面這個(gè)是將對(duì)象綁定一個(gè)新的變量,L1和L還是指向同一個(gè)對(duì)象,后后者將對(duì)象拷貝一份在賦值給L1,L1指向了新的對(duì)象(就是用切片生成的新對(duì)象)
這兩者是有區(qū)別的,先看下面例子:
>>>L=[1,2,3,4]
>>>L1=L
>>>L2=L[:]
>>>L[1]=5
>>>L
[1,5,3,4]
>>>L1
[1,5,3,4]
>>>L2
[1,2,3,4]
L改變后,L1跟著變,L2并不改變。列表變量是這樣實(shí)現(xiàn)的:
首先有列表值,例如上面的[1,2,3,4],存在計(jì)算機(jī)某一單元中,我們假定此單元是編號(hào)沒(méi)。在L中實(shí)際上放的是單元編號(hào)m,當(dāng)我們把L賦值給L1時(shí),L1中放入的也是m。所以當(dāng)我們更改L時(shí),python解釋程序,先根據(jù)L中的單元編號(hào),找到存放列表值的單元,然后更改此單元的內(nèi)容。由于L1與L中都是編號(hào)m,所以?xún)烧咄瑫r(shí)更改。L2時(shí)L的一部分,是新的列表,所以放入不同的單元。
4
回答1
回答0
回答0
回答0
回答2
回答0
回答0
回答0
回答0
回答