# Python Matrix Vs COBOL Arrays Top Differences

Your most looking information where Python matrix and COBOL arrays differ, in this post, I am giving complete information. The Logic is different in both the languages. The way of definition and accessing element in an array or matrix is different. Python Matrix Vs COBOL Array. In reality both Array and Matrix are the same

What are Arrays

Arrays are storing data structure to store data in one or more dimensional form. You can access the data for further processing in your application program.

One Dimensional Array

In general, one dimensional array is a row of elements either numeric or Strings separated by commas. Here, each element is separated by comma. This is key concept.
`>>> a = ['Srini',25,33,42]`
Two Dimensional Arrays

In the case of Two dimensional array data stored in Tabular form and you can access whichever tuple you want.

Real use of multi dimensional array is to give input in Tabular form and can access particular tuple as you want.

`>>> b = [['Srini',25,33,42],['Ramu',44,67,57]]`

### Python Matrix

In Numpy Python, matrix is a method, where you will get row data in the form of matrix
```>>> a = np.matrix('1 2; 3 4')
>>> print(a)
[[1 2]
[3 4]]```
The above example is just to show input rows of data in the form of matrix.

#### One Dimension Matrix

`>>> a = ['Srini',25,33,42]`

#### Two dimension Matrix

`>>> b = [['Srini',25,33,42],['Ramu',44,67,57]]`

#### Reading Array in Python

`>>> b  `
Result will be as below.
`>>> ['Srini',25,33,42]                                                               `
In the above two dimensional array, the first element is '0' and second element is '1' and so on. In Python accessing tuple has many ways. Whatever element you need you can access with the following syntax.

a => This means first element of an Array 'a'

a => This means in the first element of an 'a' array access first column.

a[-1] => This means access last element in 'a' array

Note: In Python an array element starts with 0, 1, 2 and so on

### COBOL Arrays

Array definition in COBOL is different. First you need create an array using a definition as below. Below is 2 dimensional array. Why I am saying 2 dimensional is it has 2 OCCURS clauses.
```01 StateSalesTable.
02 State OCCURS 50 TIMES.
03 StateBranchCount   PIC 9(5).
03 StateMonthSales    PIC 9(5)V99 OCCURS 12 TIMES.```
After the definition is created, you can now store data using COBOL program. Then you can access whichever tuple you want using index and PERFORM statement. Examples given here on multi dimensional arrays in COBOL really good to understand quickly.

Note: In COBOL when you define index then array element starts with 0, 1, 2 and so on

References