附加(变量)插入错误的值,我不知所措
append(variable) inserts wrong value, i am at loss
def primesFaster(to_number):
array = [x for x in range(2, to_number + 1)]
result = list()
i = array[0]
while(i*i < to_number):
result.append(array[i]) #<<----- i = 2 in debugger but still appends 4
for x in array:
if(x%i == 0): array.remove(x)
i = array[0]
result.extend(array)
return result
--
result.append(array[i])
应该将 2,3,5... 值追加到结果数组,但由于某种原因它在第一次循环迭代中追加 4 这怎么可能发生?请帮助我
因为array[0]
是2而array[2]
是4.
array = [x for x in range(2, to_number + 1)] # [2, 3, 4, ..., to_number]
你基本上叫
result.append(array[array[0]])
def primesFaster(to_number):
array = [x for x in range(2, to_number + 1)]
result = list()
i = array[0]
while(i*i < to_number):
result.append(array[i]) #<<----- i = 2 in debugger but still appends 4
for x in array:
if(x%i == 0): array.remove(x)
i = array[0]
result.extend(array)
return result
--
result.append(array[i])
应该将 2,3,5... 值追加到结果数组,但由于某种原因它在第一次循环迭代中追加 4 这怎么可能发生?请帮助我
因为array[0]
是2而array[2]
是4.
array = [x for x in range(2, to_number + 1)] # [2, 3, 4, ..., to_number]
你基本上叫
result.append(array[array[0]])