您好,登錄后才能下訂單哦!
這篇文章主要介紹python面試題之列表聲明的示例分析,文中介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體如下:
下面程序輸出的結(jié)果為?
val = [['a']*2]*2 print val val[0][1]='b' print val
答案為:
[['a', 'a'], ['a', 'a']]
[['a', 'b'], ['a', 'b']]
而不是
[['a', 'a'], ['a', 'a']]
[['a', 'b'], ['a', 'a']]
請看下面的例子:
val = ['a']*2 #或者直接聲明val = ['a','a'] print val print id(val) print id(val[0]) print id(val[1])
輸出的結(jié)果為
['a', 'a']
39993928
38858384
38858384
可以看到val中的兩個'a'是指向的同一個地址:
再看下面的代碼:
直接聲明的話,不會改變后面的'a'
val = [['a','a'],['a','a']] print val print id(val) print id(val[0][0]) print id(val[1][0]) val[0][0] = 'b' print val print id(val) print id(val[0][0]) print id(val[1][0])
結(jié)果為:
[['a', 'a'], ['a', 'a']]
39405512
38268560
38268560
[['b', 'a'], ['a', 'a']]
39405512
38390280
38268560
而
val = [['a','a']]*2 print val print id(val) print id(val[0][0]) print id(val[1][0]) val[0][0] = 'b' print val print id(val) print id(val[0][0]) print id(val[1][0])
結(jié)果為:
[['a', 'a'], ['a', 'a']]
40388552
39251600
39251600
[['b', 'a'], ['b', 'a']]
40388552
39373320
39373320
以上是“python面試題之列表聲明的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。