1. 程式人生 > >Python 3執行python2程式碼時遇到的部分問題

Python 3執行python2程式碼時遇到的部分問題

1.TypeError: 'range' object does not support item assignment

報錯語句:

np.random.shuffle(keys)

此處的keys是由range() 函式產生(在此沒有貼出全部的程式碼)。在Python2中,range返回的是列表。而Python3 range() 函式返回的是一個可迭代物件(型別是物件),而不是列表型別。程式碼需要修改為:

keys = list(range(num_obj))
np.random.shuffle(keys)


2.TypeError: 'range' object does not support item assignment

報錯語句:

train_img, train_label = train_gen.next()

需要把內建函式.next()修改為.__next__()。修改後上述語句為:

train_img, train_label = train_gen.__next__()

未完,待續。。。