# say we're building a word->pagenumbers index -- a key piece of code might be:
theIndex = {}
def addword(word, pagenumber):
if theIndex.has_key(word):
theIndex[word].append(pagenumber)
else:
theIndex[word] = [pagenumber]
# incidentally, a good Pythonic instinct would be to substitute this
# "look before you leap" pattern with a "easier to get permission":
def addword(word, pagenumber):
try: theIndex[word].append(pagenumber)
except AttributeError: theIndex[word] = [pagenumber]
# but this is by the by -- just a minor simplification. However,
# this meets the pattern "use the entry if already present, else
# add a new entry". Here's how using setdefault simplifies this:
def addword(word, pagenumber):
theIndex.setdefault(word,[]).append(pagenumber)