Two Dimensional Array in Python


The difference between list in python and array in python is a built-in data type in python, the data in list don't have to be the same, and the types in array must all be the same.

An example of a list:

a=[1,2,3,4,5] # one dimensional list
b=[[1,2,3],[0,1,2]] # two dimensional list

An example of an array:

import numpy as np
a=np.array((1,2,3,4,5))# Parameters are tuple
b=np.array([6,7,8,9,0])# Parameters are list

Creation of a two dimensional array

c=np.array([[1,2,3],[4,5,6]]) # Parameters two-dimensional array

To output arrays:

print(a,b, c.shape())

Related course: Complete Python Programming Course & Exercises

Arrays must have same data type

Data types were not used in the creation of arrays earlier, but here we can also use data types. The default is int32.

a1=np.array([[1,2,3],[4,5,6]],dtype=np.float64)
print a1.dtype,a.dtype #float64 int32

Previously in the creation of the time we are using the np.array() method from the tuple or list conversion to array, feel very laborious, numpy himself provides a lot of methods for us to create an array directly.

arr1=np.array(1,10,1) # 
arr2=np.linspace(1,10,10)
print arr1,arr1.dtype
print arr2,arr2.dtype

Array index

You can access array elements (and list elements) like the examples below:

arr[5] #5
arr[3:5] #array([3, 4])
arr[:5] #array([0, 1, 2, 3, 4])
arr[:-1]# array([0, 1, 2, 3, 4, 5, 6, 7, 8])
arr[:] #array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[2:4]=100 # array([ 0, 1, 100, 100, 4, 5, 6, 7, 8, 9])
arr[1:-1:2] #array([ 1, 100, 5, 7]) 2 is interval
arr[::-1] #array([ 9, 8, 7, 6, 5, 4, 100, 100, 1, 0]) 
arr[5:2:-1]# -1 interval means right to left so 5>2 #array([ 5, 4, 100])

Above is how ARRAY's one-dimensional array is accessed, let's look at how the two-dimensional is handled again

print c[1:2]# c[1:2].shape-->(1L, 3L)
print c[1:2][0] # shape -->(3L,)
print c[1]
print c[1:2]
print c[1][2]
print c[1:4]
print c[1:4][0][2]

List Index

List indexes can be arrays and lists. the returned data does not share memory with the original data. The index can be list and array.

x=np.array(10)
index=[1,2,3,4,5]
arr_index=np.array(index)
print x
print x[index] # list index
print x[arr_index] # array index

Outputs:

[0 1 2 3 4 5 6 7 8 9]
[1 2 3 4 5]
[1 2 3 4 5]

Difference between array and list

The example below shows how lists an arrays can behave differently

a=np.change(10)
lista=list(a)
print a*2
print lista*2

Outputs:

[0 2 4 6 8 10 12 14 16 18]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9]