how to access 2d list in python code example

Example 1: how to input 2-d array in python

matrix = [input().split() for i in range(no_of_rows)] # if only row is given and the number of coloumn has to be decide by user
matrix= [[input() for j in range(no_of_cols)] for i in range(no_of_rows)] # if both row and coloumn has been taken as input from user

Example 2: how to create 2d list in python

o=[]
for i in range(0,rows):
    x=[]
    for j in range(0,cols):
        x.append(0)
    o.append(x)
#if you use [[0]*cols]*rows all rows will become the same list
#so editing in one row will edit all rows