ch03: update from book draft

This commit is contained in:
Luciano Ramalho 2020-02-18 23:58:03 -03:00
parent aa868e8f75
commit 20dd93c11b
6 changed files with 16 additions and 16 deletions

View File

@ -1,4 +1,4 @@
# BEGIN DIALCODES
# tag::DIALCODES[]
# dial codes of the top 10 most populous countries
DIAL_CODES = [
(86, 'China'),
@ -20,11 +20,11 @@ print('d2:', d2.keys())
d3 = dict(sorted(DIAL_CODES, key=lambda x:x[1])) # <3>
print('d3:', d3.keys())
assert d1 == d2 and d2 == d3 # <4>
# END DIALCODES
# end::DIALCODES[]
"""
# BEGIN DIALCODES_OUTPUT
# tag::DIALCODES_OUTPUT[]
d1: dict_keys([880, 1, 86, 55, 7, 234, 91, 92, 62, 81])
d2: dict_keys([880, 1, 91, 86, 81, 55, 234, 7, 92, 62])
d3: dict_keys([880, 81, 1, 86, 55, 7, 234, 91, 92, 62])
# END DIALCODES_OUTPUT
# end::DIALCODES_OUTPUT[]
"""

View File

@ -2,7 +2,7 @@
# http://www.aleax.it/Python/accu04_Relearn_Python_alex.pdf
# (slide 41) Ex: lines-by-word file index
# BEGIN INDEX
# tag::INDEX[]
"""Build an index mapping word -> list of occurrences"""
import sys
@ -22,4 +22,4 @@ with open(sys.argv[1], encoding='utf-8') as fp:
# print in alphabetical order
for word in sorted(index, key=str.upper):
print(word, index[word])
# END INDEX
# end::INDEX[]

View File

@ -2,7 +2,7 @@
# http://www.aleax.it/Python/accu04_Relearn_Python_alex.pdf
# (slide 41) Ex: lines-by-word file index
# BEGIN INDEX0
# tag::INDEX0[]
"""Build an index mapping word -> list of occurrences"""
import sys
@ -25,4 +25,4 @@ with open(sys.argv[1], encoding='utf-8') as fp:
# print in alphabetical order
for word in sorted(index, key=str.upper): # <4>
print(word, index[word])
# END INDEX0
# end::INDEX0[]

View File

@ -2,7 +2,7 @@
# http://www.aleax.it/Python/accu04_Relearn_Python_alex.pdf
# (slide 41) Ex: lines-by-word file index
# BEGIN INDEX_DEFAULT
# tag::INDEX_DEFAULT[]
"""Build an index mapping word -> list of occurrences"""
import sys
@ -23,4 +23,4 @@ with open(sys.argv[1], encoding='utf-8') as fp:
# print in alphabetical order
for word in sorted(index, key=str.upper):
print(word, index[word])
# END INDEX_DEFAULT
# end::INDEX_DEFAULT[]

View File

@ -53,7 +53,7 @@ Tests for update using a `dict` or a sequence of pairs::
TypeError: 'int' object is not iterable
"""
# BEGIN STRKEYDICT
# tag::STRKEYDICT[]
import collections
@ -71,4 +71,4 @@ class StrKeyDict(collections.UserDict): # <1>
def __setitem__(self, key, item):
self.data[str(key)] = item # <4>
# END STRKEYDICT
# end::STRKEYDICT[]

View File

@ -1,6 +1,6 @@
"""StrKeyDict0 converts non-string keys to `str` on lookup
# BEGIN STRKEYDICT0_TESTS
# tag::STRKEYDICT0_TESTS[]
Tests for item retrieval using `d[key]` notation::
@ -31,11 +31,11 @@ Tests for the `in` operator::
>>> 1 in d
False
# END STRKEYDICT0_TESTS
# end::STRKEYDICT0_TESTS[]
"""
# BEGIN STRKEYDICT0
# tag::STRKEYDICT0[]
class StrKeyDict0(dict): # <1>
def __missing__(self, key):
@ -52,4 +52,4 @@ class StrKeyDict0(dict): # <1>
def __contains__(self, key):
return key in self.keys() or str(key) in self.keys() # <6>
# END STRKEYDICT0
# end::STRKEYDICT0[]