Python創建n*n的列表

Python創建n*n的列表

當使用  [ [ None ] *n ] *n 方法創建時,會使子列表都指向同一列表

>>> t = [[]] * 4
>>> t
[[], [], [], []]
>>> t[0].append(3) #改變一子列表導致其他均被改變
>>> t
[[3], [3], [3], [3]]

 爲了避免此類情況

t = list([None]*n for _ in range(n))
or
t = [[None]*n for _ in range(n)]

python中for _ in range () 中'_'的意思

其中’_’ 是一個循環標誌,也可以用i,j 等其他字母代替,下面的循環中不會用到,起到的是循環此數的作用
就像C語言中

for (int i ; i<100 ; i++){
    代碼塊;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章