Learning Python, 2nd Edition by Mark Lutz, David Ascher The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated November 18, 2004. UNCONFIRMED errors and comments from readers: [110-111] on p. 110, last code example; on p. 111, first code example; mel is used as the name of the dictionary being created. as 'mel' is used as data content in the previous example (second code sample, p. 110), this strikes me as distracting from the intent, that this example is very similar to the previous one rather than a subdictionary of sorts, which could be inferred (confusingly) from the example as it is. {122} 4th line of first example; the output from the example: >>> L1 = [1, ('a', 3)] >>> L2 = [1, ('a', 3)] >>> L1 < L2, L1 == L2, L1 > L2 should be (0, 1, 0) instead of (0, 0, 1), since L1 and L2 are equivalent lists. (472) 4th paragraph, line 5 (code sample) ; start,stop = stop, start + struct.calcsize('B'*num_bytes) should be: start,stop = stop, stop + struct.calcsize('B'*num_bytes) ...in order to advance the slice to the next piece of data. [544] Under the section of dictionaries; Answer key in the book for D[(1,2,3)]=4 >>>D {'w':0, 'z':3 'y':2, (1,2,3):4, 'x':1) The answer key is incorrect. It should be. >>> D[(1,2,3)]=4 >>> D {'y': 2, 'x': 1, 'z': 3, 'w': 0, (1, 2, 3): 4} Using Python version 2.4.4 {568} line 5 from bottom in code; change: if p[start:indexpepper].strip() to if p[start+lenword:indexpepper].strip()