Methods python generation multi-dimensional array (multidimensional create problematic situation)

1, one-dimensional

list1 = [ 0 ] * 5                # [ 0 , 0 , 0 , 0 , 0 ] 
list2 = np.arange ( 5 ) # [ 0 , 1 , 2 , 3 , 4 ]

2, two-dimensional (note)

= list2 [[ 0 ] * 3 ] * 2       This creation is a problem! !
print(list2)
list2[0][0]=1
print(list2)

 

 

 Right way:

list3=[[0]*3 for _ in range(2)]
或者
list3=[[0 for j in range(3)] for _ in range(2)]
或者
a=[0]*3
list3=[a.copy for _ in range(2)]

3, multi-dimensional

Create a line using two-dimensional method

[[[0 for j in range(3)] for _ in range(2)] for k in range(4)] ......

 

4, numpy create an array

list4 = np.arange ( 1 , 10 , 2 ) 
list51 = np.array ([[ 1 , 0 ], [ 0 , 1 ]]) 
list52 = np.array ([np.arange ( 3 ) np.arange ( 3 )]) 
list53 = np.array ((np.arange ( 3 ) np.arange ( 3 ))) 
list6 = np.linspace ( 1 , 10 , 10 , endpoint = True) #等差数列
list7 = np. zeros (( 10 , 10 )) 
list8 = np.ones (( 5 ,5))
list9=np.empty((3,3))

 

 

 

 

 

 

Guess you like

Origin www.cnblogs.com/51python/p/11517414.html