# Adding a specified column in a list of lists

Does anyone have any tips on how to add together the specific column that you want?
i got the code to work for the 2x2 lists but im getting "list index out of range" or slightly wrong numbers for the longer lists

0

I got a similar error in the routine practice problems and I solved them by working backwards instead of forward. When you're altering the list(i.e adding, removing or inserting a character), the index gets altered too when you work forward.

When you are accessing a grid/matrix, the second index number is the column:

``````aMatrix[row][column]
``````

So to access a specific column, each time through the loop the second index number should be the column you want to access. So it becomes

``````aMatrix[row][desiredColumnNum]
``````

With [row] changing each loop and [desiredColumnNum] staying the same.
Does that make sense?

selected

To take a step back from the original question, which Furby already answered pretty well... what are some general strategies we can use to solve a problem like this when we get stuck?

Believe it or not, there are some really excellent general problem solving strategies, as outlined in George Polya's amazing book: How to Solve It (https://en.wikipedia.org/wiki/How_to_Solve_It). Much of his advice about solving math problems also pertains to computer science problems.

A strategy that I commonly use is: use an example.
That is, think carefully through the steps needed to solve a specific instance of the problem (e.g. with numbers instead of variables).

Suppose you have a 5x5 list of lists named numberTable , and our desired column number is 3.

Then we would need to access:

``````numberTable
numberTable
numberTable
numberTable
numberTable
``````

and add all of those up.

(Another of George Polya's strategies is to draw a picture/diagram, which would also be helpful in visualizing column index 3 in a 5x5 array... but it's hard for me to insert such a diagram here. It would be pretty easy to sketch on paper though!)

Notice that the first index is changing, but the 2nd index is not, because we always want column #3. That means we'll want a FOR LOOP to go from 0 through 4, to represent each row index, while we will continue to use 3 (our desired column index) for the 2nd index into the table.

If this doesn't lead naturally to code yet, try tracing through a second example, with a 4x4 table where we want to add up column 0.