當前位置:成語大全網 - 新華字典 - 為什麽列表要嵌套索引才能顯示

為什麽列表要嵌套索引才能顯示

這個問題是由python選擇通過引用傳遞列表的事實引起的.

通常,變量按“值”傳遞,因此它們獨立運行:

>>> a = 1

>>> b = a

>>> a = 2

>>> print b

1

但是,由於列表可能會相當大,而不是將整個列表移動到內存之外,Python選擇使用引用(C語言中的“指針”).如果您將另壹個變量分配給另壹個變量,則只需為其分配引用.這意味著妳可以有兩個變量指向內存中的相同列表:

>>> a = [1]

>>> b = a

>>> a[0] = 2

>>> print b

[2]

所以,在妳的第壹行代碼中妳有4 * [0].現在[0]是指向內存中值0的指針,當妳乘以它時,妳會得到四個指針到內存中的相同位置.但是當您更改其中壹個值時,Python知道指針需要更改以指向新值:

>>> a = 4 * [0]

>>> a

[0, 0, 0, 0]

>>> [id(v) for v in a]

[33302480, 33302480, 33302480, 33302480]

>>> a[0] = 1

>>> a

[1, 0, 0, 0]

當您將此列表乘以時,會出現問題 – 您將獲得列表指針的四個副本.現在,當您更改壹個列表中的壹個值時,所有四個更改在壹起:

>>> a[0][0] = 1

>>> a

[[1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]

解決方案是避免第二次乘法.壹個循環做這個工作:

>>> some_list = [(4 * [0]) for _ in range(4)]

python嵌套列表索引

Python基礎:List列表操作&嵌套列表

2.5W閱讀·20評論·28點贊

2019年1月30日

python嵌套列表索引 index_在嵌套列表python中查找字符串及其索引的所有出現處

530閱讀·0評論·0點贊

2021年2月10日

python嵌套列表索引_嵌套列表索引

442閱讀·0評論·0點贊

2020年12月5日

列表排序並返回索引_Python特性—列表,看完妳就能輕松駕馭,拿走不謝

52閱讀·0評論·0點贊

2020年11月17日

Python 之嵌套列表

9976閱讀·0評論·8點贊

2022年3月24日