首頁 >後端開發 >Python教學 >如何在Python中高效初始化二維數組?

如何在Python中高效初始化二維數組?

Linda Hamilton
Linda Hamilton原創
2024-12-04 17:35:12974瀏覽

How Can I Efficiently Initialize a 2D Array in Python?

在Python中初始化二維數組

在使用Python時,您可能會遇到初始化二維數組的需要,或「列表的列表」。雖然提供的程式碼片段利用巢狀循環完成任務,但它可能不是最有效的方法。

簡化的初始化

一種更簡潔的方法來初始化兩個-維數組是透過列表理解實現的:

t = [[0] * 3 for i in range(3)]

此程式碼初始化一個3x3數組,所有元素都設定為0.

注意事項

雖然看起來很方便,但使用[[v] * n] * n 初始化數組可能會導致意外的行為。如下面的程式碼所示,這種方法會建立相同清單引用的副本,從而導致引用在整個數組中共享:

a = [[0] * 3] * 3
a[0][0] = 1
print(a)  # Output: [[1, 1, 1], [1, 1, 1], [1, 1, 1]]

與預期不同,數組的所有元素都變為 1。這是因為每個sublist 會儲存原始清單的引用,對一個元素的任何變更都會影響整個陣列。

總而言之,在 Python 中初始化二維數組時,為了簡單起見,請使用列表理解由於引用共享問題,請避免使用 [[v] * n] * n。

以上是如何在Python中高效初始化二維數組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn