Điều này tạo ra một danh sách với năm tài liệu tham khảo trong cùng một danh sách:same list:
data = [[None]*5]*5Sử dụng một cái gì đó như thế này thay vì tạo ra năm danh sách riêng biệt:
>>> data = [[None]*5 for _ in range(5)]Bây giờ nó làm những gì bạn mong đợi:
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]]Python cung cấp nhiều cách để tạo danh sách/mảng 2 chiều. Tuy nhiên, người ta phải biết sự khác biệt giữa những cách này bởi vì chúng có thể tạo ra các biến chứng trong mã có thể rất khó để tìm ra. Hãy bắt đầu bằng cách xem xét các cách phổ biến để tạo mảng 1D có kích thước n được khởi tạo bằng 0.
Sử dụng mảng 2D/danh sách đúng cách
Phương pháp 1: Tạo danh sách 1-D
Ví dụ 1: Tạo danh sách 1D bằng các phương thức ngây thơ Creating 1d list Using Naive methods
Python3
Ví dụ 2: Tạo danh sách 1D bằng cách sử dụng & nbsp; danh sách hiểu biếtcreating 1d list using List Comprehension
Python3
N = >>> data = [[None]*5 for _ in range(5)] 0
>>> data = [[None]*5 for _ in range(5)] 1= >>> data = [[None]*5 for _ in range(5)] 3>>> data = [[None]*5 for _ in range(5)] 4 >>> data = [[None]*5 for _ in range(5)] 5 >>> data = [[None]*5 for _ in range(5)] 6>>> data = [[None]*5 for _ in range(5)] 7 >>> data = [[None]*5 for _ in range(5)] 8>>> data = [[None]*5 for _ in range(5)] 9
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 1
Explanation:
Ở đây chúng tôi đang nhân số lượng hàng với danh sách trống và do đó toàn bộ danh sách được tạo với mỗi phần tử bằng không.
Phương pháp 2 Tạo danh sách 2-D
Ví dụ 1: Phương pháp ngây thơ
Python3
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 2= >>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 4>>> data = [[None]*5 for _ in range(5)] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 6__10
>>> data = [[None]*5 for _ in range(5)] 1= [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 1>>> data = [[None]*5 for _ in range(5)] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 3[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 5[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 7
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 1
Đầu ra
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]Explanation:
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 94>>> data = [[None]*5 for _ in range(5)] 4>>> data = [[None]*5 for _ in range(5)] 14>>> data = [[None]*5 for _ in range(5)] 97 >>> data = [[None]*5 for _ in range(5)] 10>>> data = [[None]*5 for _ in range(5)] 16>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 17
Làm thế nào để bạn gán một giá trị cho một mảng 2D trong Python?
Python3
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 2= >>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 4>>> data = [[None]*5 for _ in range(5)] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 6__10
>>> data = [[None]*5 for _ in range(5)] 1= [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 1>>> data = [[None]*5 for _ in range(5)] 4 >>> data = [[None]*5 for _ in range(5)] 5 >>> data = [[None]*5 for _ in range(5)] 6>>> data = [[None]*5 for _ in range(5)] 7
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 94>>> data = [[None]*5 for _ in range(5)] 4>>> data = [[None]*5 for _ in range(5)] 14>>> data = [[None]*5 for _ in range(5)] 97 >>> data = [[None]*5 for _ in range(5)] 10>>> data = [[None]*5 for _ in range(5)] 16>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 00
Đầu ra
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]Explanation:
>>> data = [[None]*5 for _ in range(5)] 1= [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 1>>> data = [[None]*5 for _ in range(5)] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 3[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 5[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 7
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 94>>> data = [[None]*5 for _ in range(5)] 4>>> data = [[None]*5 for _ in range(5)] 14>>> data = [[None]*5 for _ in range(5)] 97 >>> data = [[None]*5 for _ in range(5)] 10>>> data = [[None]*5 for _ in range(5)] 16>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 17
Python3
[1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] 3=[1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] 5
[1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] 6=>>> data = [[None]*5 for _ in range(5)] 0[1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] 9>>> data = [[None]*5 for _ in range(5)] 0
Làm thế nào để bạn gán một giá trị cho một mảng 2D trong Python?
# Viết một chương trình để chèn phần tử vào mảng 2D (hai chiều) của Python ..
Từ nhập mảng * # Nhập tất cả gói liên quan đến mảng ..
N 6N 7>>> data = [[None]*5 for _ in range(5)] 4>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 8
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 6=1
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 1
Đầu ra
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]Explanation:
ARR1 = [[1, 2, 3, 4], [8, 9, 10, 12]] # Khởi tạo các phần tử mảng ..
Python3
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 2= >>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 4>>> data = [[None]*5 for _ in range(5)] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 6__10
>>> data = [[None]*5 for _ in range(5)] 1= [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 1>>> data = [[None]*5 for _ in range(5)] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 3[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 5[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 4[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 7
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 94>>> data = [[None]*5 for _ in range(5)] 4>>> data = [[None]*5 for _ in range(5)] 14>>> data = [[None]*5 for _ in range(5)] 97 >>> data = [[None]*5 for _ in range(5)] 10>>> data = [[None]*5 for _ in range(5)] 16>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 17
Làm thế nào để bạn gán một giá trị cho một mảng 2D trong Python?
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 6>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 23
>>> data = [[None]*5 for _ in range(5)] 1= [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 1>>> data = [[None]*5 for _ in range(5)] 4 >>> data = [[None]*5 for _ in range(5)] 5 >>> data = [[None]*5 for _ in range(5)] 6>>> data = [[None]*5 for _ in range(5)] 7
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 94>>> data = [[None]*5 for _ in range(5)] 4>>> data = [[None]*5 for _ in range(5)] 14>>> data = [[None]*5 for _ in range(5)] 97 >>> data = [[None]*5 for _ in range(5)] 10>>> data = [[None]*5 for _ in range(5)] 16>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 17
>>> data = [[None]*5 for _ in range(5)] 5 >>> data = [[None]*5 for _ in range(5)] 18>>> data = [[None]*5 for _ in range(5)] 7 >>> data = [[None]*5 for _ in range(5)] 20
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 6>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 23
Đầu ra
[1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [1, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0] [0, 0, 0, 0, 0]Explanation:
Chúng tôi chỉ hy vọng phần tử đầu tiên của hàng đầu tiên sẽ thay đổi thành 1 nhưng phần tử đầu tiên của mỗi hàng được thay đổi thành 1 trong Phương pháp 2A. Chức năng đặc biệt này là vì Python sử dụng các danh sách nông mà chúng ta sẽ cố gắng hiểu. Trong phương pháp 1a, Python không tạo 5 đối tượng số nguyên nhưng chỉ tạo một đối tượng số nguyên và tất cả các chỉ số của mảng arr chỉ vào cùng một đối tượng INT như được hiển thị .
In method 1a, Python doesn’t create 5 integer objects but creates only one integer object and all the indices of the array arr point to
the same int object as shown.
Nếu chúng ta gán chỉ mục 0 cho một số nguyên khác nói 1, thì một đối tượng số nguyên mới được tạo với giá trị là 1 và sau đó chỉ số 0 bây giờ chỉ vào đối tượng INT mới này như được hiển thị bên dưới bên dưới
Tương tự, khi chúng ta tạo một mảng 2D dưới dạng ARR ARR = [[0]*cols]*Hàng, chúng ta về cơ bản là mở rộng tương tự ở trên. & NBSP;
- Chỉ có một đối tượng số nguyên được tạo. & Nbsp;
- Một danh sách 1D duy nhất được tạo và tất cả các chỉ số của nó chỉ vào cùng một đối tượng INT trong điểm 1. & nbsp;
- Bây giờ, ARR [0], ARR [1], ARR [2]. ARR [N-1] Tất cả chỉ vào cùng một đối tượng danh sách ở trên trong điểm 2.
Các thiết lập trên có thể được hiển thị trong hình ảnh dưới đây.
Bây giờ chúng ta hãy thay đổi phần tử đầu tiên trong hàng đầu tiên của ARR AR AS AS & NBSP; ARR [0] [0] = 1
- ARR [0] trỏ đến đối tượng danh sách duy nhất mà chúng tôi đã tạo ở trên.
- Việc gán ARR [0] [0] sẽ tạo một đối tượng INT mới với giá trị 1 và ARR [0] [0] bây giờ sẽ trỏ đến đối tượng INT mới này. [2] [0], ARR ARR [N-1] [0])
Điều này có thể thấy rõ trong hình ảnh dưới đây. & NBSP;
Vì vậy, khi các mảng 2D được tạo như thế này, việc thay đổi các giá trị ở một hàng nhất định sẽ ảnh hưởng đến tất cả các hàng vì về cơ bản chỉ có một đối tượng số nguyên và chỉ một đối tượng danh sách được tham chiếu bởi tất cả các hàng của mảng.
Như bạn mong đợi, việc truy tìm các lỗi gây ra bởi việc sử dụng danh sách nông như vậy là khó khăn. Do đó, cách tốt hơn để khai báo một mảng 2D là & nbsp;
Python3
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 2= >>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 4>>> data = [[None]*5 for _ in range(5)] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 6__10
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 60>>> data = [[None]*5 for _ in range(5)] 4 >>> data = [[None]*5 for _ in range(5)] 5 >>> data = [[None]*5 for _ in range(5)] 6>>> data = [[None]*5 for _ in range(5)] 7 >>> data = [[None]*5 for _ in range(5)] 8__
Đầu ra
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]Phương pháp này tạo 5 đối tượng danh sách riêng biệt không giống như Phương pháp 2A. Một cách để kiểm tra điều này là sử dụng toán tử ‘IS là kiểm tra xem hai toán hạng có đề cập đến cùng một đối tượng không. & NBSP;
Python3
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 2= >>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 4>>> data = [[None]*5 for _ in range(5)] 0>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 6__10
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 60>>> data = [[None]*5 for _ in range(5)] 4 >>> data = [[None]*5 for _ in range(5)] 5 >>> data = [[None]*5 for _ in range(5)] 6>>> data = [[None]*5 for _ in range(5)] 7 >>> data = [[None]*5 for _ in range(5)] 8__
Phương pháp này tạo 5 đối tượng danh sách riêng biệt không giống như Phương pháp 2A. Một cách để kiểm tra điều này là sử dụng toán tử ‘IS là kiểm tra xem hai toán hạng có đề cập đến cùng một đối tượng không. & NBSP;
>>> data = [[None]*5 for _ in range(5)] 1= [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 1>>> data = [[None]*5 for _ in range(5)] 4 >>> data = [[None]*5 for _ in range(5)] 5 >>> data = [[None]*5 for _ in range(5)] 6>>> data = [[None]*5 for _ in range(5)] 7
>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 0>>> data = [[None]*5 for _ in range(5)] 94>>> data = [[None]*5 for _ in range(5)] 4>>> data = [[None]*5 for _ in range(5)] 14>>> data = [[None]*5 for _ in range(5)] 97 >>> data = [[None]*5 for _ in range(5)] 10>>> data = [[None]*5 for _ in range(5)] 16>>> data[0][0] = 'Cell A1' >>> print data [['Cell A1', None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None], [None, None, None, None, None]] 00