=====Function Descriptions=====
Transpose

We can generate the transposition of an array using the tool numpy.transpose.
It will not affect the original array, but it will create a new array.

import numpy

my_array = numpy.array([[1,2,3],
                        [4,5,6]])
print numpy.transpose(my_array)

#Output
[[1 4]
 [2 5]
 [3 6]]

Flatten

The tool flatten creates a copy of the input array flattened to one dimension.

import numpy

my_array = numpy.array([[1,2,3],
                        [4,5,6]])
print my_array.flatten()

#Output
[1 2 3 4 5 6]

=====Problem Statement=====
You are given a NXM integer array matrix with space separated elements (N = rows and M = columns).
Your task is to print the transpose and flatten results.

=====Input Format=====
The first line contains the space separated values of N and M.
The next N lines contains the space separated elements of M columns.

=====Output Format=====
First, print the transpose array and then print the flatten.

Difficulty: introductory

Starter code:

import numpy

Solutions:
import numpy
n,m = list(map(int,input().split()))
ar = []
for i in range(n):
    row = list(map(int,input().split()))
    ar.append(row)

np_ar = numpy.array(ar)
print((numpy.transpose(np_ar)))
print((np_ar.flatten()))


import numpy
n, m = [int(x) for x in input().strip().split()]
arr = []
for _ in range(n):
    arr.append([int(x) for x in input().strip().split()])
print(numpy.array(arr).transpose())
print(numpy.array(arr).flatten())