python建立多維列表

2022-08-30 12:54:10 字數 956 閱讀 1470

by francis_hao    mar 24,2018

"*"操作符可以用於列表,表示將列表內容重複n次。如下,

但是當列表內容是列表的時候就出問題了,如果我只是修改多維列表中的一項,結果是所有的都改變了,如下

這是因為,"*"操作符相當於"淺複製"的概念。只複製了乙個"指標"過去,如下

這個時候如果修改複製後的內容,其結果就取決於複製的內容是什麼了,如果是乙個獨立的物件,那修改不會造成其他影響

但是,如果複製的內容是乙個復合的物件,而修改僅僅是修改了復合物件裡的內容,那麼所有複製的復合物件內容都會被改變,如下圖

那麼,怎麼實現類似"深複製"的操作呢?官方faq裡提供了答案,就是用新建立的列表為每個複製的物件賦值。

一種更簡便的寫法:

這裡把[none]*2看成是乙個整體,for是基於它的操作。

faq-multidimensional-list

python 多維列表(巢狀列表)

python 多維列表 巢狀列表 姓名,年齡,工資 姓名,年齡,工資 姓名,年齡,工資 字串 姓名,年齡,工資 例如 張三,30,2000 str 張三,30,2000 l str.split print l emp list 單個人的資訊 info input 請輸入員工資訊 info list ...

Python將多維列表轉字典

今天面試某公司時遇到的乙個題目 想想其實很簡單的,但是操作起來還是有點難度滴,回來驗證了一下自己的 沒問題 table month day itemname numberofitems price retailprice tax code suppliername 01 01 corporate c...

python列表建立操作 python列表操作

建立列表 sample list a 1,a b python 列表操作 sample list a b 0,1,3 得到列表中的某乙個值 value start sample list 0 end value sample list 1 刪除列表的第乙個值 del sample list 0 在列...