3
我有以下代碼:試圖理解爲什麼一個嵌套的循環稱爲僅第一次
def get_preds(train,test,x_ranges,y_ranges):
global total_scores
global num_scores
for x_min, x_max in x_ranges:
for y_min, y_max in y_ranges:
...
當我運行蟒蛇2.7此方法,其行爲符合市場預期。 nest for循環每次運行外循環時運行。
當我將相同的代碼加載到在Python 3上運行的Kaggle python腳本引擎時,嵌套循環只運行一次。對於所有其他迭代,它會被跳過。
這裏是如何的方法被調用:
dataset = pd.read_csv('../input/train.csv',dtype=types,index_col=0)
split_t=math.floor((0.9)*786239)
train = dataset[dataset.time < split_t]
test = dataset[dataset.time >= split_t]
def gen_ranges(size,step):
return zip(np.arange(0,size,step), np.arange(step, size+step, step));
x_ranges = gen_ranges(size,x_step)
y_ranges = gen_ranges(size,y_step)
preds_test_total = get_preds(train,test,x_ranges,y_ranges)
你怎麼稱呼這個功能? –
preds_test_total = get_preds(train,test,x_ranges,y_ranges)在任何方法之外。 –
你怎麼稱呼這個功能?特別是'yranges'是兩個解釋器中的列表,還是Python 2中的列表和Python 3中的生成器? – gboffi