Programming2021-05-071 min read

Cách tạo list rỗng trong python

Cách 1: a=[[0]*6]*5 print(a) a[1][1]=-1 print(a) Output: [[0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0], [0, 0,

Nguyen Pham
Xin chào. Mình thích lập trình và công nghệ. Đây là blog mình chia sẻ lại các kiến thức về lập trình, công nghệ.

Cách 1:

code
a=[[0]*6]*5
print(a)
a[1][1]=-1
print(a)

Output:

code

[[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, 0, 0, 0, 0, 0]]

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

Chuyện gì đang xảy ra. Nếu như mình nghĩ thì chỉ có một ô được thay đổi thành -1 nhưng ở đây tất cả đều đổi. Tại sao?

Với cách này thì chúng đều trỏ đến cùng một đối tượng. do vây khi thay đổi một cái nó sẽ thay đổi tất.

Tham khảo

https://stackoverflow.com/questions/6007881/what-does-the-0x-syntax-do-in-python

Be warned that they all point to the same object. This is cool for immutables like integers but a pain for things like lists.

Cách 2: Nên dùng cách này

code
b= [[0 for k in range(6)] for l in range(5)]
print(b)
b[1][1]=-1
print(b)
code
[[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, 0, 0, 0, 0, 0]]

[[0, 0, 0, 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]]
Tags:#Programming#Python#array#list#python
Cách tạo list rỗng trong python — vdailyapp Blog