def palavras(self):
import string
lista_palavras = set()#evitar repeticoes
count = 0
with open(arq) as f:
for linha in f:
for pal in linha.split():
for i in string.punctuation:
if i in pal:
pal = pal.replace(i,"")
pal = pal.lower()
lista_palavras.add(pal)
lista_palavras={pal for pal in lista_palavras if len(pal) >0}
print(sorted((lista_palavras)))# o problema quer uma lista!
O código faz parte de uma classe:
class ArqTexto()
A saída (parte):
['"never-nevermore."\'', "'tis", '-', "`'tis", '`art', '`be', '`doubtless', '`doubtless,', "`doubtless,'", '`get', '`lenore', "`lenore'", '`nevermore', '`nevermore.', "`nevermore.'", '`or', '`other', '`prophet', "`prophet'", '`sir', '`sir,', "`sir,'", '`surely',
Alguns caracteres que não consegui tirar acima: "." "'', "` "
O mais estranho que os caracteres estão em string.punctuation... Gostaria de entender o que fiz de errado!