我有一个坐标列表,如下所示:
my_list = [[1, 1], [1, 3], [1, 5], [2, 1], [2, 3]]
Run Code Online (Sandbox Code Playgroud)
正如我们所看到的,前三个坐标具有相同的 X 值,具有不同的 Y,另外两个坐标的情况相同。我想制作新列表,如下所示:
new_list = [[1, 3], [2, 2]]
Run Code Online (Sandbox Code Playgroud)
哪里y1 = 3 = (1+3+5)/3 和y2 = 2 = (1+3)/2。我写了下面的代码,但它运行缓慢。
我使用数十万个坐标,所以问题是:如何使此代码运行得更快?是否有任何优化或特殊的开源库,可以加速我的代码?
先感谢您。
x_mass = []
for m in mass:
x_mass.append(m[0])
set_x_mass = set(x_mass)
list_x_mass = list(set_x_mass)
performance_points = []
def function(i):
unique_x_mass = []
for m in mass:
if m[0] == i:
unique_x_mass.append(m)
summ_y = 0
for m in unique_x_mass:
summ_y += m[1]
point …Run Code Online (Sandbox Code Playgroud)