in c++ I can wrote:
int someArray[8][8];
for (int i=0; i < 7; i++)
for (int j=0; j < 7; j++)
someArray[i][j] = 0;
And how can I initialize multi-line arrays in python? I tried:
array = [[],[]]
for i in xrange(8):
for j in xrange(8):
array[i][j] = 0
>>> [[0]*8 for x in xrange(8)]
[[0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0]]
>>>
You asked about initializing a list of lists. Its a very useful data structure, but it has an important difference from the 2D array in C++: There are no guarantees that all lines have the same length (ie, that len(a[0])==len(a[1])
(while in C++ you do have that guarantee).
So another solution that might be handy, is using NumPy 's array datatype, like this:
import numpy as np
array = np.zeros((8,8))
Here is a shorter way:
array = []
for i in xrange(8):
array.append( [0] * 8 )
array = [[0]*8 for i in xrange(8)]
[[0]*8 for x in range(8)]
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.