Home >Backend Development >Python Tutorial >Detailed introduction to python3.x
This book on machine learning is written in the environment of python2. Correction, let’s briefly record the fix part in the learning process
1. Parentheses need to be added after the print function (the print function starts to appear in program listing 2-4)
2. Raw_input is changed to input function, in 3.
4.
in Program Listing 3-6
In python2.7, find the first element corresponding to key: firstStr = myTree.keys() [0], this will report an error when running in python3.4: 'dict_keys' object does not support indexing. This is because python3 changed dict.keys and returned the dict_keys object, which supports iterable but does not support indexable. We can change it If explicitly converted into a list, this function should be implemented in python3 as follows:
firstSides = list(myTree.keys()) firstStr = firstSides[0]#找到输入的第一个元素
5. Program Listing 3-9
pickle uses binary when persisting data. For storage and reading, so when writing a file,
fw=open(filename,'w')---->fw=open(filename,'wb')
Open the file in binary form to facilitate pickle writing
When reading data from the file, you must also read it in binary form and make the following modifications
fr=open( filename)---->fr=open(filename,'rb')
6.
in program listing 4-5 wordList=textParse(open('ch04/email/ham/%d.txt' % i).read())
This sentence always reports an encoding error when running, and the result is the read file There are garbled characters in the file. The problem is solved after deleting the garbled characters. The error code is as follows:
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 199: illegal multibyte sequence
trainingSet=range(50);
del(trainingSet[randIndex])
Because range cannot return List and does not support del operation, the following error occurs during runtime:
TypeError: 'range' object doesn't support item deletion
You can modify the code to:
trainingSet = list(range(50));
to be continued……
The above is the detailed content of Detailed introduction to python3.x. For more information, please follow other related articles on the PHP Chinese website!