2015-10-26 103 views
0

這就是我創建我的二維數組:如何在python中更改我的二維數組中的元素?

matrix = [[0 for x in range(5)] for x in range(3)] 
print(matrix) 

運行這段代碼返回此:

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

不過,我想編寫一個函數在那裏我可以要求輸入和替代在輸入的特定位置爲零。我想要一種告訴計算機哪個零代替用戶給出的輸入的方式。

+0

'matrix [i] [j] = value' –

回答

0

您只需使用兩個方括號括起來的([]):

matrix = [[0 for x in range(5)] for x in range(3)] 
def my_function(input, idx1, idx2): 
    matrix[idx1][idx2] = input 

如您所料,第一對方括號([])對應於外部列表,第二對方括號對應於內部列表。

0
def f(matrix, idx1, idx2, value): 
    matrix[idx1][idx2] = value 

測試:

>>> matrix = [[0 for x in range(5)] for x in range(3)] 
>>> def f(matrix, idx1, idx2, value): 
...  matrix[idx1][idx2] = value 
... 
>>> f(matrix, 2, 4, -99) 
>>> matrix 
[[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, -99]] 

這或許有助於看看是怎麼回事

>>> matrix[2] 
[0, 0, 0, 0, -99] # 3rd item of matrix 
>>> matrix[2][4] 
-99     # 5th item of matrix[2] 

記住,指數開始在0