docs: def getNumPhones(isleDict, word, maxFlag):
      '''
      Get the number of syllables and phones in this word
      
      If maxFlag=True, use the longest pronunciation.  Otherwise, take the
      average length.
      '''
      phoneCount = 0
      syllableCount = 0
      
      syllableCountList = []
      phoneCountList = []
      
      wordList = isleDict.lookup(word)
      entryList = zip(*wordList)
      
      for lookupResultList in entryList:
          syllableList = []
          for wordSyllableList in lookupResultList:
              syllableList.extend(wordSyllableList)
          
          syllableCountList.append(len(syllableList))
          phoneCountList.append(len([phon for phoneList in syllableList for
                                     phon in phoneList]))
      
      # The average number of phones for all possible pronunciations
      #    of this word
      if maxFlag is True:
          syllableCount += max(syllableCountList)
          phoneCount += max(phoneCountList)
      else:
          syllableCount += (sum(syllableCountList) /
                            float(len(syllableCountList)))
          phoneCount += sum(phoneCountList) / float(len(phoneCountList))
      
      return syllableCount, phoneCount