Да, вы правы, поскольку список знаков препинания имеет фиксированный размер (и не зависит от N), общая временная сложность вашего кода должна составлять O (N).Как отмечали другие комментаторы, O (N * M), вероятно, будет более точным, где N - это количество символов, которое вы читаете, а M - количество знаков пунктуации.
Если вы хотитеоптимизировать там, вы можете хранить знаки препинания в set
, где in
работает в постоянном времени:
punctuation = {',', '.', '?', '!', ':', ';', '"', ' ', '\t', '\n'}
for letter in line:
if letter not in punctuation:
word += letter