0

我是python的新手。我尝试使用差异方法处理数据(下面的g ),该方法从其他数组中减去一个数组。我有以下代码。代码 1 和代码 2 的区别在于:代码 1 为 list 预先分配了一个空间,并在循环中替换每个值。代码 2 一开始只定义了一个空列表,并在循环中将数据附加到定义的列表中。结果是一样的。但是,我对python不熟悉,也不知道哪个好。有人可以给我一个建议吗?还是对此代码进行更完善的修改?

BR XJ

#Same part:
g = range(1,12)
width  = [0.1, 0.1, 0.1, 0.2, 0.2, 0.2, 0.3, 0.3, 0.3]
length = [1, 2, 3, 1, 2, 3, 1, 2, 3]
width  = set(width)
length = set(width)
nr_w = len(width)
nr_l = len(length)
#different parts:
# %%
#Code 1:
i = 0
g_new_1 = [0]*nr_w*(nr_l-1) # preallocating
for i_w in range(nr_w):
    for i_l in range(nr_l):
        if i_l != 0:
            g_new_1[i] = g[i_w*nr_l+i_l] - g[i_w*nr_w]
            i=i+1
# %%
#Code 2:
g_new_2 = []
for i_w in range(nr_w):
    for i_l in range(nr_l):
        if i_l != 0:
            g_new_2.append( g[i_w*nr_l+i_l] - g[i_w*nr_w] )

print(g_new_1 == g_new_2)
4

0 回答 0