Как читать / вычислять данные, используя цикл в Python? - PullRequest
0 голосов
/ 14 февраля 2019

Я новый для питона.Я пытаюсь обработать данные ( g в следующем), используя метод разности, который вычитает один массив из других.У меня есть следующие коды.Разница между кодом 1 и кодом 2: код 1 предварительно выделяет пробел для списка , и в цикле заменяет каждое значение. Код 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)
...