欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python初始化多維列表遇到的問題詳解

 更新時間:2023年11月04日 09:25:38   作者:驚瑟  
這篇文章主要介紹了使用Python初始化多維列表遇到的問題詳解,二維列表是將其他列表作為它的元素的列表,前一章介紹了如何使用一個列表來存儲線性的元素集合,可以使用列表來存儲二維數(shù)據(jù),需要的朋友可以參考下

使用Python初始化多維列表遇到的問題

問題

我們知道有兩種方式可以初始化一個m*n二維列表:

  • 使用*
m, n = 3, 2
x = [[0] * n] * m
  • 使用for
y = [[0] * 2 for i in range(3)]
print(x)
print(y)

乍一看, 兩者得到的結(jié)果是相同的:

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

實則其中有大坑,我們試著修改下x,y:

x[1][1]=2
y[1][1]=2
print(x)
print(y)

得到如下結(jié)果:

[[0, 2], [0, 2], [0, 2]]
[[0, 0], [0, 2], [0, 0]]

坑就在這,方法1得到的多維列表,內(nèi)層列表其實只有一份拷貝,修改一個就等于修改所有,而方法2內(nèi)部列表都是獨立的個體,修改一個并不會傳導到另一個:

x = [[0]*2]*3
y = [[0] * 2 for i in range(3)]
print(*[id(i) for i in x])
print(*[id(i) for i in y])

輸出:

2128813329536 2128813329536 2128813329536
2128813351680 2128813351616 2128813351488

結(jié)論

為了避免令人迷惑的結(jié)果出現(xiàn), 初始化多維列表時盡量使用:

[[0]*n for i in range(m)]

到此這篇關(guān)于使用Python初始化多維列表遇到的問題詳解的文章就介紹到這了,更多相關(guān)Python初始化多維列表內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Jupyter Notebook讀入csv文件時出錯的解決方案

    Jupyter Notebook讀入csv文件時出錯的解決方案

    這篇文章主要介紹了Jupyter Notebook讀入csv文件時出錯的解決方案,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • python playwright 自動等待和斷言詳解

    python playwright 自動等待和斷言詳解

    這篇文章主要為大家介紹了python playwright 自動等待和斷言,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • Python去除圖片水印實現(xiàn)方法詳解

    Python去除圖片水印實現(xiàn)方法詳解

    這篇文章主要為大家詳細介紹了如何利用Python實現(xiàn)處理圖片水印的相關(guān)資料,主要是實現(xiàn)圖片水印的去除效果,感興趣的小伙伴可以嘗試一下
    2023-01-01
  • Pytorch復現(xiàn)擴散模型的示例詳解

    Pytorch復現(xiàn)擴散模型的示例詳解

    這篇文章主要為大家詳細介紹了如何利用Pytorch復現(xiàn)擴散模型,文中的示例代碼講解詳細,具有一定的學習價值,感興趣的可以跟隨小編一起了解一下
    2023-04-04
  • python入門:這篇文章帶你直接學會python

    python入門:這篇文章帶你直接學會python

    本教程并未涵蓋Python語言的全部內(nèi)容,只是一個入門的教程,Python有非常多的庫以及很多的功能特點需要學習,小編只是拋磚引玉,希望大家可以從中受益
    2018-09-09
  • 一篇文章帶你了解python標準庫--random模塊

    一篇文章帶你了解python標準庫--random模塊

    這篇文章主要給大家介紹了關(guān)于Python中random模塊常用方法的使用教程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • 將Python項目打包成exe并附帶下載功能的操作流程

    將Python項目打包成exe并附帶下載功能的操作流程

    這篇文章主要為大家詳細介紹了將Python項目打包成exe并附帶下載功能的操作流程,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以了解下
    2023-12-12
  • Python中的index()方法使用教程

    Python中的index()方法使用教程

    這篇文章主要介紹了Python中的index()方法使用教程,是Python入門學習中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-05-05
  • 詳解解決jupyter不能使用pytorch的問題

    詳解解決jupyter不能使用pytorch的問題

    這篇文章主要介紹了詳解解決jupyter不能使用pytorch的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • 探索Python函數(shù)調(diào)用為何加速代碼執(zhí)行原理

    探索Python函數(shù)調(diào)用為何加速代碼執(zhí)行原理

    Python 作為一種解釋型語言,其執(zhí)行速度相對于編譯型語言可能會較慢,然而,在Python中,通常觀察到代碼在函數(shù)中運行得更快的現(xiàn)象,這個現(xiàn)象主要是由于函數(shù)調(diào)用的內(nèi)部優(yōu)化和解釋器的工作方式導致的,本文將深入探討這個現(xiàn)象,并通過詳細的示例代碼進行解釋
    2024-01-01

最新評論