Home  >  Article  >  Backend Development  >  Detailed introduction to python3.x

Detailed introduction to python3.x

零下一度
零下一度Original
2017-06-27 09:22:152404browse

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn