text: # How to Extract Matrix Elements in the Spiral Form in Python3?
  
  ## CLOCKWISE SPIRAL FORM EXTRACTION OF MATRIX ELEMENTS
  
  Clockwise Spiral Form can be best described as:
  
  • Let’s consider a matrix of m x n dimension, where m is the number of rows and n is the number of columns.
  • Let’s take a point, the point starts from the first element (1,1).
  • Then the point will move in the right direction until the end (1,n).
  • From there, the point will move downwards until the last element of the matrix (m,n).
  • Then, the point move towards the second column (2,n), it will not hit the first column.
  • From there it will rise up to the second row (2,2), it will not touch the first row.
  • This process continues until it covers all the elements.
  
  Read more here: Spiral array model
  
  The Clockwise Spiral Form is shown below in the image.
  
  Spiral Matrix Python
  
  Now, let’s take a look at the code snippet
  
  ### PROGRAM to Extract Matrix Elements in the Spiral Form in Python3 :
  
  ```# Python3 program to print the given matrix in spiral form
  def spiralPrint(m,n,a):
  k=0;l=0
  ''' k - starting row index
  m - ending row index
  l - starting column index
  n - ending column index
  i - iterator '''
  while(k<m and l<n):
  # Print the first row from
  # the remaining rows
  for i in range(l,n) :
  print(a[k][i],end=" ")
  k += 1
  # Print the last column from
  # the remaining columns
  for i in range(k,m) :
  print(a[i][n-1],end=" ")
  n -= 1
  # Print the last row from
  # the remaining rows
  if(k<m):
  for i in range(n-1,(l-1),-1) :
  print(a[m-1][i], end = " ")
  m-=1
  # Print the first column from
  # the remaining columns
  if(l<n):
  for i in range(m - 1, k - 1, -1) :
  print(a[i][l],end=" ")
  l+=1
  
  # Driver Code
  R=int(input("Enter the number of rows:"))
  C=int(input("Enter the number of columns:"))
  a=[]
  print("Enter the elements of the matrix:")
  for i in range(R):
  l=list(map(int,input().split(" ")))
  a.append(l)
  print("The elements are taken out from the matrix in the clockwise spiral direction.")
  spiralPrint(R,C,a)```
  
  OUTPUT 1:
  
  ```Enter the number of rows:3
  Enter the number of columns:3
  Enter the elements of the matrix:
  1 2 3
  4 5 6
  7 8 9
  The elements are taken out from the matrix in the clockwise spiral direction.
  1 2 3 6 9 8 7 4 5```
  
  OUTPUT 2:
  
  ```Enter the number of rows:4
  Enter the number of columns:4
  Enter the elements of the matrix:
  1 2 3 4
  4 5 6 7
  7 8 9 1
  2 3 6 4
  The elements are taken out from the matrix in the clockwise spiral direction.
  1 2 3 4 7 1 4 6 3 2 7 4 5 6 9 8```
  
  So, hope this tutorial helped you to clear your doubts.
metadata: {"found_math": false, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 0, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0, "katex": 0, "math-container": 0, "wp-katex-eq": 0, "align": 0, "equation": 0, "x-ck12": 0, "texerror": 0}