python建立多維列表

By francis_hao    Mar 24,2018 html

 

"*"操做符能夠用於列表,表示將列表內容重複n次。以下, python

 

可是當列表內容是列表的時候就出問題了,若是我只是修改多維列表中的一項,結果是全部的都改變了,以下 spa

 

這是由於,"*"操做符至關於"淺複製"的概念。只複製了一個"指針"過去,以下 指針

 

這個時候若是修改複製後的內容,其結果就取決於複製的內容是什麼了,若是是一個獨立的對象,那修改不會形成其餘影響 htm

 

可是,若是複製的內容是一個複合的對象,而修改僅僅是修改了複合對象裏的內容,那麼全部複製的複合對象內容都會被改變,以下圖 對象

 

那麼,怎麼實現相似"深複製"的操做呢?官方FAQ裏提供了答案,就是用新建立的列表爲每一個複製的對象賦值。 blog

 

一種更簡便的寫法: ci

這裏把[None]*2當作是一個總體,for是基於它的操做。 get

 

 


本文由 劉英皓 創做,採用 知識共享署名-非商業性使用-相同方式共享3.0中國大陸許可協議 進行許可。歡迎轉載,請註明出處:
轉載自:http://www.cnblogs.com/yinghao1991/p/8641236.html io

 

 

參考

【1】faq-multidimensional-list https://docs.python.org/3/faq/programming.html#faq-multidimensional-list

相關文章
相關標籤/搜索