I want to make a function in python which receives as arguments a matrix, a coordinate for the line and another coordinate for the column. For example: A matrix m=[[1,2,3], [4,5,6]]
and the function will receive the arguments (m,0,0)
It should return 1 (Which is the number located in position 0,0 in the matrix).
Asked
Active
Viewed 5,443 times
1
-
41. This is a nested list, not a matrix. 2. To access the first element of the first element: `m[0][0]`. – timgeb Jan 06 '16 at 14:54
-
1Indeed, sorry. What i meant to say is that that list represents a matrix. – Pmsmm Jan 06 '16 at 14:56
-
well, what about the trouble coding this task? What is the specific issue? – felipsmartins Jan 06 '16 at 15:00
-
I really can't do What I'm telling, the code I have so far is making me confuse because If I access position 0,0 it will return 1 but that is making me confuse because position 0,0 is position 0 in line which is 1 and position 0 in column wich is 4 that's why I'm confused honestly – Pmsmm Jan 06 '16 at 15:01
-
Also, it's pretty simple: `from_matrix = lambda matrix, a, b: matrix[a][b]: ` – felipsmartins Jan 06 '16 at 15:03
-
Why would you want a function for this? It'd be longer and slower than doing the indexing directly. – PM 2Ring Jan 06 '16 at 15:09
1 Answers
6
Think of it as a list of lists rather than a "matrix", and the logic becomes more obvious. Matrix m
has two elements: m[0] = [1, 2, 3]
and m[1] = [4, 5, 6]
. So accessing a single value from within those lists requires another index. For example, m[0][1] = 2
.
def matrix(m, a, b):
return m[a][b] # element b from list a in list m
If you really want to use a matrix, consider numpy.
-
Thank you Erica, basicly two lines of code to solve a problem so simple that seemed complicated in my head. Thanks you once more – Pmsmm Jan 06 '16 at 15:28