java双重for循环语句_Numpy语句而不是双重for循环

我的以下Python代码非常慢,是否有可能使用Numpy语句完全编写此部分?

m = len(self.man_list)

s = len(self.newnew)

self.zeroMatrix = np.zeros((m,s))

for k in range(m):

a1 = self.man_list[k][2]

b1 = self.man_list[k][0]

a2 = self.man_list[k][3]

b2 = self.man_list[k][1]

for f, part in enumerate(self.extra_list):

x1 = self.extra_list[f][0]

y1 = self.extra_list[f][2]

x2 = self.extra_list[f][1]

y2 = self.extra_list[f][3]

first = np.array((x1, y1))

second = np.array((x2, y2))

third = np.array((a1, b1))

forth = np.array((a2, b2))

dist1 = np.linalg.norm(first - third)

dist2 = np.linalg.norm(second - forth)

distance = (dist1 + dist2)

self.zeroMatrix[k][f] = distance

首先,我用零创建一个矩阵( self.zeroMatrix ) .

self.man_list 和 self.extra_list 包含行的起点和终点坐标 . 例如:

self.man_list = [ [ [1,2], [3,4] ],...]

self.extra_list = [ [ [11,30], [4, 10] ],...]

我得到第一个列表的每一行到另一个列表的每一行的距离,然后我在 self.zeroMatrix 中注册这个距离值 .

我非常感谢你的回答!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值