• + 0 comments
    # Method 1 Create String from Columns Using 2 loops
    import re
    dimensions = list(map(int,input().split()))
    r = dimensions[0]
    c = dimensions[1]
    Matrix = []
    for _ in range(r):
        Matrix.append(list(input()))
    
    S = ""
    for i in range(c):
        for j in range(r):
            S += Matrix[j][i]
    
    S = re.sub(r"(?<=\w)([!@#\$%\& ]+?)(?=\w)"," ",S)
    print(S)
    
    # Method 2 Create String from Columns Using zip function
    import re
    dimensions = list(map(int,input().split()))
    r = dimensions[0]
    c = dimensions[1]
    Matrix = []
    for _ in range(r):
        Matrix.append(list(input()))
        
    S = ""
    for i in list(zip(*Matrix)):
        S += "".join(i)
    
    S = re.sub(r"(?<=\w)([!@#\$%\& ]+?)(?=\w)"," ",S)
    print(S)
    
    # Method 3 Create String from Columns Using numpy but not working in compiler because of ModuleNotFoundError
    import re
    import numpy
    dimensions = list(map(int,input().split()))
    r = dimensions[0]
    c = dimensions[1]
    Matrix = []
    for _ in range(r):
        Matrix.append(list(input()))
    
    S = ""
    for i in numpy.transpose(numpy.array(Matrix)):
        S += "".join(i)
    
    S = re.sub(r"(?<=\w)([!@#\$%\& ]+?)(?=\w)"," ",S)
    print(S)