如何使用python中的循环读取/计算数据?

时间:2019-02-14 12:57:44

标签: python database for-loop read-data

我是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)

0 个答案:

没有答案