Apply condition in for loop to each element in a list of lists

I am trying to see if each value in array is less then 0 then output 0, else output the number itself. The output must have the same dimensions as the input. Currently the input is a 3 by 4 but output is a list. How do I get the output size the same (3 by 4 array)?

input = [[1,2,3,4],[4,5,-6,-7],[8,9,10,11]]
output= []
for i in input:
    if i < 0:
        value = 0
        output.append(value)
    else:
        value= i
        output.append(value)

Python's NumPy arrays are a much more efficient way of dealing with matrices, which are what you have if all of your nested lists are the same size. If I understood your question, your example can be simplified down to a single line:

import numpy as np
inp = np.array([[-1,2,3,4],[4,5,-6,7],[8,9,-10,11]])
print (inp)
#[[ -1   2   3   4]
# [  4   5  -6   7]
# [  8   9 -10  11]]
inp[inp < 0] = 0 
print (inp)
# [[ 0  2  3  4]
# [ 4  5  0  7]
# [ 8  9  0 11]]

You need a nested loop.

lists = [[1, 2, 3, 4], [4, 5, 6, 7], [8, 9, 10, 11]]
output = []
for l in lists:
    nested_list = []
    for i in l:
        if i < 0:
            nested_list.append(0)
        else:
            nested_list.append(i)

    output.append(nested_list)

Also, you shouldn't name your variable input as it will override the input() function.