Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python:除法数组_Python_Arrays_Python 2.7 - Fatal编程技术网

Python:除法数组

Python:除法数组,python,arrays,python-2.7,Python,Arrays,Python 2.7,假设我有这样的数组: d= [[1.254,3.458,9.874][5.32,3.35,4.54][1.121,8.121,9.45][7.1215,9.454,8.14].... and etc.] 如何将d[0][2]元素与d[0][2]、d[1][2]、d[2][2]、d[3][2]分开。。。。。。。等等? 我会用数字来解释: 9.874(d[0] [2])/9.874(d[0] [2]) 9.874(d[0] [2])/4.45(d[1] [2]) 9.874(d[0

假设我有这样的数组:

 d= [[1.254,3.458,9.874][5.32,3.35,4.54][1.121,8.121,9.45][7.1215,9.454,8.14].... and etc.]
如何将d[0][2]元素与d[0][2]、d[1][2]、d[2][2]、d[3][2]分开。。。。。。。等等? 我会用数字来解释:

  9.874(d[0] [2])/9.874(d[0] [2])
  9.874(d[0] [2])/4.45(d[1] [2]) 
  9.874(d[0] [2])/9.45(d[2] [2])
  9.874(d[0] [2])/8.14(d[3] [2]) ........ and etc.
我希望我的结果是数组:

  Result  = [1,2.21,1.04,1.21,... and etc.] 
或者(如果更容易)将结果添加到当前数组:

  d= [[1.254,3.458,9.874,1][5.32,3.35,4.54,2.21][1.121,8.121,9.45,1.04][7.1215,9.454,8.14,1.21].... and etc.]
如您所见,结果是数组元素的最后一个数组:

  d[0] [3] = 1, d[1] [3] = 2.21, d[2] [3]=1.04, d[3] [3]=1.21

如果有人需要更多的解释,请写在评论部分,不要添加-1:(

如果你只想要每个内部列表的最后一个元素,你可以这样做

d= [[1.254,3.458,9.874,1],[5.32,3.35,4.54,2.21],[1.121,8.121,9.45,1.04],[7.1215,9.454,8.14,1.21]]

for i in d: print i[-1]

1
2.21
1.04
1.21
如果你想把它作为一个列表,你可以使用列表理解

l = [i[-1] for i in d]
print l

[1, 2.21, 1.04, 1.21]

如果您只需要每个内部列表的最后一个元素,您可以这样做

d= [[1.254,3.458,9.874,1],[5.32,3.35,4.54,2.21],[1.121,8.121,9.45,1.04],[7.1215,9.454,8.14,1.21]]

for i in d: print i[-1]

1
2.21
1.04
1.21
如果你想把它作为一个列表,你可以使用列表理解

l = [i[-1] for i in d]
print l

[1, 2.21, 1.04, 1.21]

这应该适用于您的示例:

result = [d[0][2]/dx[2] for dx in d]

这应该适用于您的示例:

result = [d[0][2]/dx[2] for dx in d]

如果使用的是Numpy,则可以向数组中添加一列,并用除法结果填充该列:

1: a = np.array([[1.254,3.458,9.874],[5.32,3.35,4.54][1.121,8.121,9.45],[7.1215,9.454,8.14]])
2: b =np.hstack((a, np.zeros((a.shape[0],1))))
3: b[:,3] = b[0,2]/b[:,2]
4: b
array([[ 1.254     ,  3.458     ,  9.874     ,  1.        ],
   [ 5.32      ,  3.35      ,  4.54      ,  2.17488987],
   [ 1.121     ,  8.121     ,  9.45      ,  1.04486772],
   [ 7.1215    ,  9.454     ,  8.14      ,  1.21302211]])

如果使用的是Numpy,则可以向数组中添加一列,并用除法结果填充该列:

1: a = np.array([[1.254,3.458,9.874],[5.32,3.35,4.54][1.121,8.121,9.45],[7.1215,9.454,8.14]])
2: b =np.hstack((a, np.zeros((a.shape[0],1))))
3: b[:,3] = b[0,2]/b[:,2]
4: b
array([[ 1.254     ,  3.458     ,  9.874     ,  1.        ],
   [ 5.32      ,  3.35      ,  4.54      ,  2.17488987],
   [ 1.121     ,  8.121     ,  9.45      ,  1.04486772],
   [ 7.1215    ,  9.454     ,  8.14      ,  1.21302211]])

更简单的方法是计算列表理解(由@elzell提出的解决方案)
result=[d[0][2]/dx[2]表示d中的dx]

您还可以将结果添加为每个子列表的最后一个元素(numpy中的数组是不同的动物)


更简单的方法是计算列表理解(由@elzell提出的解决方案)
result=[d[0][2]/dx[2]表示d中的dx]

您还可以将结果添加为每个子列表的最后一个元素(numpy中的数组是不同的动物)


好吧,这是一个非常不清楚的问题。哪个部分不清楚我可以解决它你在尝试做矩阵运算吗?一些不清楚的方面:数组没有定义除法,
0 2
是语法错误,不是有效的数组索引,数字不是可以调用的函数。请注意,你没有一个,但有一个.Well、 这是一个非常不清楚的问题。哪个部分不清楚?我可以修复它您是否在尝试进行矩阵运算?一些不清楚的方面:数组没有定义除法,
0 2
是语法错误,不是有效的数组索引,数字不是可以调用的函数。请注意,您没有除法,但有.Srr ad戴德回答说:@elzell:)这是他的主意:)@user5568235:我正要向你推荐。这就是为什么我明确承认他的回答的原因。我的目的是展示改变阵列的可能性。我已经对他的答案投了赞成票:-)Srr添加了对@elzell:)这是他的第一个想法:)@user5568235:我正要向你推荐它。这就是为什么我明确承认他的回答的原因。我的目的是展示改变阵列的可能性。我已经对他的答案投了赞成票:——)