您好,登錄后才能下訂單哦!
這篇文章主要介紹python面試題之列表聲明的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
具體如下:
下面程序輸出的結果為?
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])
輸出的結果為
['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])
結果為:
[['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])
結果為:
[['a', 'a'], ['a', 'a']]
40388552
39251600
39251600
[['b', 'a'], ['b', 'a']]
40388552
39373320
39373320
以上是“python面試題之列表聲明的示例分析”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。