That data looks 2D to me. If you really want to print a 3D array, then you can avoid writing any loops yourself and use numpy:
import numpy as np
apple_np = np.array(apple)
print apple_np
Your data, however isn't 3D, so it won't print out as you envisage. What you need is a 2D array:
apple=[["SNo.", "Computers", "Mobile"],
["1", "iMac", "iPhone"],
["2", "Macbook", "iPod"]]
apple_np = np.array(apple)
print apple_np
If you're using python 2.7, you can use the following to print out the table in a nice format:
width = max([len(el) for row in apple for el in row]) + 1
for row in apple:
for el in row:
print ("{:"+str(width)+"s}").format(el),
print ""