First, the statement for x in y loops over y and and assigns x to the value in y that you're currently looping on e.g.
y = [1, 2, 3]
for x in y:
print x
would give the output: 1 2 3 4 thus, in your case
array = [[0, 2], [3, 4]]
for i in array:
print '%d' % i[0][0]
"""
i is [0, 2] on the first iteration
making i[0] = 0
i[0][0] -> TypeError: %d format: a number is required, not list
changing this to i would obvious lead to i being a list that you're attempting to assign as a number -> TypeError: %d format: a number is required, not list
"""
What you really meant to do was stop at i[0] making the code:
array = [[0, 2], [3, 4]]
for i in array:
print '%d' % i[0]
As for your question, how to iterate over the array and print the values, well you can do something like:
array = [[0, 2], [3, 4]]
for subarray in array:
for element in subarray:
print element
iis an element inarray, therefore (in this case) it can only have one subscript. BTW,arrayis the name of a standard library module so a bad choice for a variable name.