Python array definition method, python array Definition
This article describes how to define Python arrays. We will share this with you for your reference. The details are as follows:
Python does not have an array data structure, but the list is similar to an array, for example:
a=[0,1,2]
In this case, a [0] = 0, a [1] = 1, a [[2] = 2, but a problem occurs, that is, what if array a is to be defined as 0 to 999? In this case, a = range (0, 1000) may be used. Or omitted as a = range (1000). If you want to define a with a length of 1000 and the initial value is 0, then a = [0 for x in range (0, 1000)]
The following is the definition of a two-dimensional array:
Direct definition:
a=[[1,1],[1,1]]
A two-dimensional array of 2*2 with an initial value of 0 is defined here.
Indirect definition:
a=[[0 for x in range(10)] for y in range(10)]
A two-dimensional array with 10x10 initially 0 is defined here.
There is also a simpler method to define two-dimensional arrays:
b = [[0]*10]*10
Defines a two-dimensional array with 10x10 initially 0.
Compare with a = [[0 for x in range (10)] for y in range (10)]: print a = B returns True.
However, after B's definition method is used to replace a, the previous programs that can run normally also failed. After careful analysis, the differences are obtained:
When a [0] [0] = 1, only a [0] [0] is 1, and all others are 0.
When B [0] [0] = 1, a [0] [0], a [1] [0], and only a [9, 0] is 1.
Therefore, the 10 small one-dimensional data in the large array is all referenced in the same way, that is, pointing to the same address.
Therefore, B = [[0] * 10] * 10 does not conform to the two-dimensional array in our general sense.
At the same time, the definition of c = [0] * 10 has the same effect as that of c = [0 for x in range (10, it is estimated that the definition of array c is a multiplication of the value type, while the previous B is a multiplication of the type, because the one-dimensional array is a reference (borrow the value type and reference type in C, ).