Python二维列表给元素添加值

标签 python list add dimensional

我想为二维列表的元素添加一个值。而是将该值添加到该列的所有元素。 谁能帮忙?

ROWS=3
COLUMNS=5  
a=[[0] * (ROWS)] * (COLUMNS)    
for i in range(ROWS):
    print (a[i])    
print("")
x=5
a[2][1]=a[2][1]+x

for i in range(ROWS):
    print (a[i])

最佳答案

线

a=[[0] * (ROWS)] * (COLUMNS)

创建列表的副本,而不是为每列或每行创建新列表。

改用列表理解:

a = [[0 for _ in range(ROWS)] for _ in range(COLUMNS)]

差异的快速演示:

>>> demo = [[0]] * 2
>>> demo
[[0], [0]]
>>> demo[0][0] = 1
>>> demo
[[1], [1]]
>>> demo = [[0] for _ in range(2)]
>>> demo
[[0], [0]]
>>> demo[0][0] = 1
>>> demo
[[1], [0]]

关于Python二维列表给元素添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12986983/

相关文章:

java - 如何在 Java 中将对象添加到 ArrayList

C++ 字符串 (int) + 字符串 (int)

python - Python 中列表推导式中的哈希函数

python - 在 Django admin 中将模型字段显示为只读

Python; Matplotlib : Set boundaries of Bins to integer values

python - 将元组的字符串转换为元组

c# - 如何在运行时将脚本添加到实例化对象?

Python 将 void 指针作为参数传递给 C 函数(SWIG、Numpy)

java - 从循环添加到多维数组

python - 删除Python中列表值的重复项