iterowanie obiektu pliku w Pythonie nie działa, ale readlines () działa, ale jest nieefektywne

W następującym kodzie, jeśli używam:

for line in fin:

Wykonuje się tylko dla „a”

Ale jeśli używam:

wordlist = fin.readlines()
for line in wordlist:

Następnie wykonuje się dla a przez z.

Alereadlines() czyta cały plik naraz, czego nie chcę.

Jak tego uniknąć?

def avoids():
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    num_words = {}

    fin = open('words.txt')

    for char in alphabet:
      num_words[char] = 0
      for line in fin:
        not_found = True
        word = line.strip()
        if word.lower().find(char.lower()) != -1:
          num_words[char] += 1
    fin.close()
    return num_words

questionAnswers(3)

yourAnswerToTheQuestion